tag:blogger.com,1999:blog-4792146062118713512024-03-19T15:31:30.506-07:00SOA SidewalkA Pedestrian (Developer) View of Service Oriented Architecture Design and DevelopmentChris Rileyhttp://www.blogger.com/profile/14838855108558965941noreply@blogger.comBlogger68125tag:blogger.com,1999:blog-479214606211871351.post-75385730516212968062012-04-04T20:34:00.004-07:002012-04-04T20:38:43.490-07:00Moving BlogTo simplify the blogging experience, we have setup a new blog location related to HKM Consulting LLC and our SOA, Cloud and other general technology experiences. You can reach us at: <a href="http://www.hkmconsultingllc.com/blog/">New HKM Blog</a>Chris Rileyhttp://www.blogger.com/profile/14838855108558965941noreply@blogger.com0tag:blogger.com,1999:blog-479214606211871351.post-14651021645468212832011-08-07T07:21:00.000-07:002011-08-07T07:25:33.001-07:00Getting soapUI AMF example on MacOS RunningIf you are trying to get soapUI 3.6.1 AMF example running with BlazeDS samples, make sure you do the following:<br /><br />- Place the flexsample.jar file under /Applicatons/eviware/soapUI-Pro-3.6.1.app/Contents/Resources/app/lib<br />- Restart the application and create a TestSuite, TestCase, AMF Test Step<br />- Specify the endpoint of: http://localhost:8400/samples/messagebroker/amf<br />- Specify the AMF Call as: product.getProducts<br /><br />All is good!Chris Rileyhttp://www.blogger.com/profile/14838855108558965941noreply@blogger.com0tag:blogger.com,1999:blog-479214606211871351.post-37352584562664569932011-06-28T08:43:00.000-07:002011-06-28T08:51:36.108-07:00SEVERE: WSSERVLET11: failed to parse runtime descriptor: exception during WSDL parsingHave been doing development of JAX-WS service in Metro/Tomcat 6 and ran across the following failure when deploying the WAR file. Examination of google results didn't provide the exact answer I needed but resolved it by doing the following:<br /><br />- Under the WEB-INF a directory called com existed that I had noticed before. <br />- Examined the contents of it and found the package and java classes was reproduced in this location. <br />- Deleted the directory, recreated the WAR and redeployed. <br /><br />All was good!Chris Rileyhttp://www.blogger.com/profile/14838855108558965941noreply@blogger.com0tag:blogger.com,1999:blog-479214606211871351.post-27135463458238531392010-12-11T17:34:00.000-08:002010-12-11T17:44:01.074-08:00Musings about Oracle SOA Suite 11GA little over a year ago I undertook a project to migrate a customer of mine from Cape Clear to a new solution. The solution chosen was Oracle Fusion Middleware and more specifically we settled on the Oracle SOA Suite 11G. With no training, great assistance by Oracle Product Management and lot of trial and error we were able to get SCA composites with BPEL components developed within a 1.5-2 month time frame. Like most SOA Platforms, the secret was not so much in the development but more so in the runtime and tuning. Like most BPEL engines, this one was no different in that the Database and its proper configuration required great effort on the part of Oracle support and my clients DBA and WLS experts. The migration took approximately 10 months. So what did I learn?<br /><br />- Development with Web Service standards is a significant time saver. <br />- We struggled with where the rubber meets the road. <br />-- JMS Adapter configuration within the container to integrate to a non-certified JMS Provider.<br />-- Oracle RAC Tuning and Configuration for SOA Suite specifically<br />-- WLS Tuning and Configuration for SOA Suite specifically<br /><br />So in the end migration if planned properly can be done, but always leave extra time for the tuning and performance testing.Chris Rileyhttp://www.blogger.com/profile/14838855108558965941noreply@blogger.com0tag:blogger.com,1999:blog-479214606211871351.post-89964332345894778092010-12-11T10:37:00.000-08:002010-12-11T10:44:29.757-08:00Oracle vs. Open SourceWith all the clients we work with, HKM has to be flexible to meet their budgetary needs. Some of our clients will have enterprise agreements and others are just starting. To this end, open source is the defacto starting point for many. Over the next several months I will be diving into the Apache solutions to a take another peak at the most recent Apache CXF, Camel and Ode. I am specifically interested in Ode to see how it has progressed from when I tried it 2 years ago and how close these solutions are to Oracle SOA Suite and other traditional vendors.Chris Rileyhttp://www.blogger.com/profile/14838855108558965941noreply@blogger.com0tag:blogger.com,1999:blog-479214606211871351.post-17926854393891367662010-11-22T07:13:00.000-08:002010-11-22T07:43:42.485-08:00Oracle SOA Suite 11G, JmsAdapter and Sonic MQ TopicsRecently we were working with a customer who needed to integrate SOA Suite to Progress Sonic MQ and specifically topics that were hosted. The first step with Oracle is to edit the JmsAdapter.rar configuration (specifically weblogic-ra.xml) to point at Sonic MQ. Sonic <br /><br /><connection-instance><br /><jndi-name>eis/sonic/queue</jndi-name><br /><connection-properties><br /><properties><br /><property><br /><name>ConnectionFactoryLocation</name><br /><value>MyCF</value><br /></property><br /><property><br /><name>FactoryProperties</name><br /><value>java.naming.factory.initial=com.sonicsw.jndi.mfcontext.MFContextFactory;java.naming.provider.url=tcp://sonicmq1:2506;com.sonicsw.jndi.mfcontext.domain=Domain1</value><br /></property><br /><property><br /><name>AcknowledgeMode</name><br /><value>AUTO_ACKNOWLEDGE</value><br /></property><br /><property><br /><name>IsTopic</name><br /><value>true</value><br /></property><br /><property><br /><name>IsTransacted</name><br /><value>false</value><br /></property><br /><property><br /><name>Username</name><br /><value></value><br /></property><br /><property><br /><name>Password</name><br /><value></value><br /></property><br /></properties><br /></connection-properties><br /></connection-instance><br /><br /><br />Having integrated to Sonic Queue(s) in the past, we were running into an issue where the SOA Suite cluster was picking up the message for each node within the cluster and was unaware of initially how to solve this. A simple solution was identified and specifically it was within the jDeveloper JmsAdapter Wizard. The following image shows the "Durable Subscriber Id". By simply specifying a value here, the cluster is only allowed to consume one message from the topic. <br /><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiYYr7JwquN2A9a1OB97Su4ERQ0Jk2rntI0MfMQSosmGOF94bB86vn0vZMUKoBBgK0omJqvAECu60T7P-ublfQRQ2y0jI1dNI6_7n4EWm2L_QwVdpMAUbqSRO_NAydvdUGH4xlEwNHzOH5o/s1600/jms.png"><img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 273px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiYYr7JwquN2A9a1OB97Su4ERQ0Jk2rntI0MfMQSosmGOF94bB86vn0vZMUKoBBgK0omJqvAECu60T7P-ublfQRQ2y0jI1dNI6_7n4EWm2L_QwVdpMAUbqSRO_NAydvdUGH4xlEwNHzOH5o/s320/jms.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5542395862297781586" /></a>Chris Rileyhttp://www.blogger.com/profile/14838855108558965941noreply@blogger.com2tag:blogger.com,1999:blog-479214606211871351.post-85595040473344210092010-03-21T18:43:00.000-07:002010-03-21T19:06:20.756-07:00Oracle 11.1.1.2 XPath issuesCurrently I have been migrating BPEL for a client using Oracle SOA Suite and ran into incompatibilities between 11.1.1.1.0 and 11.1.1.2.0. A simple example that worked in 11.1.1.1.0 and not in the latest patched released is a simple evaluation where I am trying to confirm the existence of an element in a message.<br /><br /><bpws:getVariableData("message","part","/element/element")> = true()<br /><br />The same statement also works in Cape Clear ESB and its BPEL implementation. <br /><br />One workaround that I used was to count the nodes using the Oracle XPath Advanced Functions:<br /><br />ora:countNodes("message","part","/element/element") > 0<br /><br />I am working with Oracle support services to see how this can be resolved in the code base.Chris Rileyhttp://www.blogger.com/profile/14838855108558965941noreply@blogger.com0tag:blogger.com,1999:blog-479214606211871351.post-60978242072406182482010-03-21T18:24:00.000-07:002010-03-21T18:40:40.697-07:00Open Cloud Manifesto and StandardizationThe Open Cloud Manifesto provides a solid definition of the state of cloud computing. Just like other industry movements in distributed computing, enterprise integration or other, cloud computing is evolving in many different directions but the core patterns and architecture of outsourced infrastructure, platforms and software supporting elasticity, multi-tenancy, metering etc. <br /><br />The hope of the manifesto and other cloud computing standards/organization, standardization in the areas of deployment, execution and management are desirable. When standards exist, it allows us to focus on generating business logic and the value it provides versus the technical wiring and potential workarounds necessary. Just like Web Services and the standards they developed over the past 10 years, I envision cloud computing will take a similar period of time to clarify and flush out the details that can be standardized. <br /><br />The one area that has traction is support for REST/SOAP based APIs. In fact as companies develop private clouds and potentially expose them as to the public, other architectures such as SOA become important in providing concise and clear interfaces to business logic.Chris Rileyhttp://www.blogger.com/profile/14838855108558965941noreply@blogger.com0tag:blogger.com,1999:blog-479214606211871351.post-15623889102185766902010-02-15T17:23:00.000-08:002010-02-15T17:28:29.138-08:00Wiseclouds: Eating the Dog FoodAs part of our development of <a href="http://www.wiseclouds.com">WiseClouds</a>, it is important that we demonstrate our agnostic nature in evolving the company and its technologies. The site itself is a Google Apps Engine based with integrations into Salesforce.com and Amazon EC2. We will also include Azure in the future along with WordPress for blogging services. This simple example allows us to demonstrate the use of PaaS, IaaS and Saas.Chris Rileyhttp://www.blogger.com/profile/14838855108558965941noreply@blogger.com0tag:blogger.com,1999:blog-479214606211871351.post-26546990754303257992010-02-15T17:10:00.000-08:002010-02-15T17:23:39.285-08:00Wiseclouds is outAs part of my own transformation to work with customers in new and interesting ways, I am collaborating with a team at <a href="http://www.wiseclouds.com">WiseClouds</a> to bring cloud computing training and consulting to a wider audience. Similar and yet different then SOA, Cloud means many things but is already proving its value in a few customers I work with and is on many a tongue in IT. <br /><br />Anyway, check out what we are working towards which is generating very useful training content along with a group of experienced practitioners in <a href="http://www.wiseclouds.com/services.html">Service and Cloud Computing technologies</a>.Chris Rileyhttp://www.blogger.com/profile/14838855108558965941noreply@blogger.com0tag:blogger.com,1999:blog-479214606211871351.post-51554416845285619522010-01-18T11:39:00.000-08:002010-01-18T12:05:07.189-08:00Cloud Computing begins but beware of the bill!Per Gartner and other research organizations, customers have gotten familiar to the Adoption curve slide as part of state of the union for a technology segment. Cloud Computing in its various flavors (SaaS, IaaS and PaaS) has hit main street or in Gartner parlance is with the Early Adopters. Organizations that adopted SaaS (i.e. Salesforce.com, Workday) realized the financial benefits of the pay per subscriber model. Now as the space has rolled out Infrastructure and Platform services, customers are dipping their toe in the water or jumping right in. Some teams are placing functions in the cloud to take advantage of the elasticity features due to the processing volume necessary. Others are rapidly developing applications to fill voids in their technology stack sometimes by the Sales organization or other non-traditional technology. This wild-west period eventually settles down when the rest of the marketplace catches up and Cloud becomes the standard technology medium. <br /><br />The piece that is daunting right now is the cost that can creep up on you if you are not careful. With billing being an aggregation of the data stored, data shuttled, number of instances, number of connections or other metrics, it gets easy to forget the costs especially if elasticity is enabled in the environment. Similar to mobile data plans, triple play packages, the end of the month bill can be staggering. For now, make sure you not only architect a solution but also the cost models associated with that solution. A good rule of thumb is when developing and testing within the cloud, the costs are quite reasonable. If developing a large scale application that will be running 24x7, be clear on the aggregate costs and talk with the vendor about pricing flexibility. <br /><br /><br />The following examples provide details from two popular vendors on pricing:<br /><br /><a href="http://www.microsoft.com/windowsazure/pricing/">Microsoft Azure Pricing</a><br /><br /><a href="http://aws.amazon.com/economics/">Amazon Web Services Pricing</a>Chris Rileyhttp://www.blogger.com/profile/14838855108558965941noreply@blogger.com0tag:blogger.com,1999:blog-479214606211871351.post-28263558087680874552009-12-03T18:53:00.000-08:002009-12-03T19:37:22.806-08:00Cloud to Cloud IntegrationAfter having hosted a Cloud Computing event in November and hearing how companies are dipping their feet in the cloud, the next logical step we discussed was inter cloud communication. As a small company I may buy into Salesforce.com for CRM, Workday for HR/Financials and Google AppEngine for custom apps. How do I tie these solutions together for data synchronization? What if the data to be exchanged is extremely large? What solutions can I use to do the heavy lifting?<br /><br />Service Bus solutions either deployed locally or in the cloud provide a composition medium to support such interactions. Cloud platforms expose public APIs via REST or SOAP for near-real time communication. <br /><br />Large data sets and exchange of this for processing is being investigated by a interesting consortium called <a href="http://opencloudconsortium.org/">Open Cloud Consortium</a>. <br /><br />Another interesting area may be the creation of middleware in the cloud. Grand Central tried to support this in the early 2000 timeframe. It was a little ahead of its time but now we are seeing Amazon SQS, Microsoft Azure w/Biztalk and other similar platforms.Chris Rileyhttp://www.blogger.com/profile/14838855108558965941noreply@blogger.com0tag:blogger.com,1999:blog-479214606211871351.post-21556528955772624072009-12-03T18:34:00.000-08:002009-12-03T18:52:53.199-08:00QCon, Security and MusingsI was fortunate to speak at QCon San Francisco, CA on November 20 discussing Service Security and my own journey on understanding security but more importantly how services can be hacked. It was interesting when examining the audience to see a mixture of participants but the lack of questions was a little disconcerning. I could take three things from that:<br /><br />1) Everyone in the audience was familiar with service hacking / security. <br />2) People are not very familiar and were afraid to ask questions or didn't understand the content. <br />3) People were not interested.<br /><br />Since the audience stayed for the entire presentation and questions were basic, I think the majority of the audience was in category 2. <br /><br />With the increasing discussion on Cloud Computing (QCON was loaded with Cloud presentations as was SOA / Cloud Symposium 2.0/1.0) security had very little presence. In understanding security, my own education was due to a client requirement. With just a couple months of effort, I was able to better understand the security technology. The harder part has been in understanding the hacking culture, finding helpful material and approaches and how that impacts services I create. Here is the link to the <a href="http://qconsf.com/sf2009/tracks/show_track.jsp?trackOID=295">QCon presentation</a>.Chris Rileyhttp://www.blogger.com/profile/14838855108558965941noreply@blogger.com0tag:blogger.com,1999:blog-479214606211871351.post-91321655525233209662009-11-05T17:23:00.000-08:002009-11-05T17:29:00.358-08:00ECAUG 1.0: Architecture User GroupWednesday this week I hosted a user group in Waltham, MA focusing on Cloud Computing experiences. I was fortunate to have Steve Robbins of Modus21 and Matson Wade representing HKM at the event. In their discussions, they broke down their experiences with Amazon Web Services specifically EC2, S3, SQS and a few other features. If you are interested in participating in the future, let us know. We can extend an invite to the Ning forum that we have setup and you can check out the presentations. A couple of criteria at the moment are you are based in the US and you are willing to proactively participate. No vendors are allowed which in turn provides a more frank and interesting discussion.Chris Rileyhttp://www.blogger.com/profile/14838855108558965941noreply@blogger.com0tag:blogger.com,1999:blog-479214606211871351.post-69306257450695558252009-10-29T11:33:00.000-07:002009-11-05T17:23:17.296-08:00SMB not fit for SOA?During a training class I was leading today, a very interesting question came up which is "All this SOA stuff we have been talking about today is great for a large company but seems to be overkill for the SMB (Small / Medium Business). Since SMB makes up a much larger percentage of the business world then traditional business, why should we care?". <br /><br />Well one way to look at the problem is that services are permeating the cloud computing space, in fact last week's SOA Symposium co-hosted a Cloud Computer Conference. Cloud computing is becoming a game-changer for SMB in providing a variety of tooling from productivity (documents, email, etc.) to CRM (i.e. Saleforce.com) to HR (i.e. Workday) to Infrastructure (i.e. Amazon/Azure). The one common aspect in these is the ability to interact using service APIs and thus the need for SMB to be adept at service consumption and composition.Chris Rileyhttp://www.blogger.com/profile/14838855108558965941noreply@blogger.com0tag:blogger.com,1999:blog-479214606211871351.post-49105544997047569412009-10-14T19:05:00.001-07:002009-10-14T19:07:06.823-07:00Versioning PodcastsAs part of my work with SOA Systems / SOABooks.com, I was asked to support Podcasts on versioning based on my participating with David Orchard (formerly BEA). Check the two <a href="http://www.hkmconsultingllc.com/media.html">podcasts</a> out and fire over some questions if you have any.Chris Rileyhttp://www.blogger.com/profile/14838855108558965941noreply@blogger.com0tag:blogger.com,1999:blog-479214606211871351.post-57940522155922172892009-10-14T18:54:00.000-07:002009-10-14T19:04:26.426-07:00Flexible Contracts?After having delivered SOA Training to various clients this summer and fall many have asked how to deal with change. The contract is the center piece of services and with an effective versioning strategy it can be difficult to alter due to coupling that occurs with service consumers. David Orchard, James Pasley and others have been documenting versioning strategies. From my work with David on the SOA Patterns book(Erl 2008) and my consulting with organizations employing Agile Methodology, contract refactoring/change is a mandatory requirement. <br /><br />Identifying a versioning strategy such as Strict, Flexible or Loose along with Versioning Identification and Compatibility design patterns provides a foundation for indicating change and providing consistency in managing the consumer impact. <br /><br />For further details check out a <a href="http://www.hkmconsultingllc.com/media.html">presentation</a> related to mixing Agile along with SOA Design Patterns and Meet in the Middle Strategy.Chris Rileyhttp://www.blogger.com/profile/14838855108558965941noreply@blogger.com1tag:blogger.com,1999:blog-479214606211871351.post-72974490798402167982009-10-14T18:15:00.000-07:002009-10-14T18:22:17.409-07:00SOA Symposium 2.0: Rotterdam, NetherlandsIt is amazing another year has passed and SOA Symposium 2.0 is around the corner. As part of the presentation work, two areas that I have focused on in blog postings and customer work is in <a href="http://www.hkmconsultingllc.com/media.html">Agile Methodology</a> and <a href="http://www.hkconsultingllc.com/media.html">Service Hacking</a>. Check out the presentations and feel free to post any questions.Chris Rileyhttp://www.blogger.com/profile/14838855108558965941noreply@blogger.com0tag:blogger.com,1999:blog-479214606211871351.post-81520911261128468792009-10-14T18:07:00.000-07:002009-10-14T18:35:02.580-07:00East Coast Architecture Group: Cloud Computing SeminarThe past couple years has seen an increase in the discussion and interest in Cloud Computing. In my own experience it started with Salesforce.com in 2003/4 and then Workday which acquired Cape Clear in 2008. More recently I have been tracking the use of Amazon EC2/S3 etc. and the impacts that IaaS is doing to the IT community. To help customers and architects that I have interacted with in the past 10 years, my company is hosting / starting an Architecture User Group. The first topic to be discussed is Cloud Computing and people that have experiences with this medium. The following URL provides specifics on the topic and dates:<br /><br /><a href="http://archusergroup.hkmconsultingllc.com">East Coast User Group: November 4th, 2009, Waltham, MA</a>Chris Rileyhttp://www.blogger.com/profile/14838855108558965941noreply@blogger.com0tag:blogger.com,1999:blog-479214606211871351.post-37591016885422872652009-07-11T13:19:00.000-07:002009-07-11T13:55:53.029-07:00Justification for constraining your XML TypesAs part of work for a client and some training I need to perform in the future, I have been spending time on hacking of web services. A simple mechanism that is often unchecked is the use of types that have no restrictions within XML Schema and WSDL. An example is simple schema below where the Social Security Number is not restricted in length and type:<br /><br /><xsd:element name="SSN" type="xsd:string"/><br /><br />If this element is used as a part of a SQL Query in a Web Services, there is the potential for SQL Injection attacks. SQL Injection is where hackers look for elements that are not constrained and thus can take advantage of the un-restricted size to insert additional sql. A simple mechanism to reduce this is to restrict the element via simpleType. <br /><br /><xsd:element name="SSN" type="SSNType"/><br /><br /><simpleType name="SSNType"><br /><restriction base="string"><br /><minLength value="9"/>><br /><maxLength value="11"/><br /></restriction><br /></simpleType><br /><br />This then reduces the overall buffer available for the hacker between 9 and 11 characters.Chris Rileyhttp://www.blogger.com/profile/14838855108558965941noreply@blogger.com0tag:blogger.com,1999:blog-479214606211871351.post-66605092855815943292009-05-21T18:37:00.001-07:002009-05-21T19:05:46.828-07:00Agile in the trenches (Part 1)As part of my research on how Agile Methodologies can interface with Service-Oriented Architecture, I am working with a client performing a 2 week iteration. The iteration is focusing on automating a process via a Service Composition. The goal of the iteration is for an architect to provide a reference implementation for a development team. The development team will then use the reference implementation as the basis for the final service composition. <br /><br />The reference implementation employs design patterns for version identification, process abstraction/centralization as well as design standards and industry standards. This implementation reduces the requirements on the development team to create the entire service composition and more on modification of a framework. The overall idea of having architecture teams support development teams came about in discussions with Kevin Davis. We discussed how the enterprise architecture team could become a much more effective participant in development cycles by performing co-development.<br /><br />During execution of the architecture iteration the following was performed to keep the development team/architecture team interactions simple and concise:<br /><br />1) Stand up meetings are replaced with email stand up meetings. The customer is the development team and to reduce the impact on this team, a simple summary of the current tasks and blocking issues are identified. The development team manager is responsible for getting blocking issues resolved. <br /><br />2) An iteration planning meeting still occurs in this model to identify the user story(s) and development tasks. These are then entered into a Agile Management Tool for tracking and visibility.<br /><br />3) A retrospection meeting occurs to demonstrate the user story solution and delivery results for the identified development tasks. As part of the delivery, a step by step documentation set is provided to help the development team utilize the reference framework. <br /><br />This same process is being executed by other Architecture team members for future features/technology required by other development teams. The execution of these iterations is meant to help validate/alter the process towards a consistent delivery approach.Chris Rileyhttp://www.blogger.com/profile/14838855108558965941noreply@blogger.com0tag:blogger.com,1999:blog-479214606211871351.post-53430159010936737502009-04-07T17:38:00.000-07:002009-04-07T17:53:05.803-07:00SOA in the DOD / GovernmentI just had the opportunity to participate at the latest <a href="http://www.soasymposium.com">SOA Symposium</a> focusing on the Department of Defense and other government agencies. The theme was on the people aspects of SOA and how success is directly measured by the amount of collaboration and teamwork in the project.<br /><br />Vendor presentations by IBM, Microsoft, Oracle, Red Hat and Amberpoint talked to Cloud Computing, SAAS, Event Processing, Open-Source and Governance. <br /><br />Separate to this I have had the opportunity to do some training and consulting in the area exposing me to the contracting base and additional government agencies. It is clear that data sharing between agencies appears to be increasing and currently service APIs are seen as the goal.Chris Rileyhttp://www.blogger.com/profile/14838855108558965941noreply@blogger.com0tag:blogger.com,1999:blog-479214606211871351.post-80924023476782921362009-03-19T19:52:00.001-07:002009-03-19T20:06:18.004-07:00SOA Architecture and Agile MethodologyOver the past couple of months I have been exposed to colleagues, professional acquaintances, and training that has discussed the merits of Agile Methodologies in creating a loose but improved development organization. One client that I work for has several teams that are employing short iterations and have improved their overall deliver of software functionality. The company has also spent time training the teams via experienced Agilists and employed collaboration software to support epics, mrf, user stories, product backlog etc. <br /><br />Working in the architecture group, there is currently no process in place but we are considering applying Agile and short 2 week iterations to deliver value to the product teams. In essence have the product teams help define challenging issues to be solved to free them up and allow them to focus on their tactical user stories/development tasks. In addition having the architecture team sit in on the product teams iterations to identify / guide the development teams towards existing services in the domain/enterprise to reduce/eliminate rebuilding existing logic. This can be done by participating in the Iteration Planning Meeting at the beginning of each iteration.<br /><br />From these experience I will be trying some role/organizational approaches towards SOA in an Agile environment. They include setting up clear versioning policies for the service contracts and using design patterns to decouple the contract from the logic. This will allow the contract to more easily change from its potential tactical definition to a more domain/strategic one.Chris Rileyhttp://www.blogger.com/profile/14838855108558965941noreply@blogger.com0tag:blogger.com,1999:blog-479214606211871351.post-73847794185957620822009-03-12T22:01:00.000-07:002009-03-12T22:22:18.332-07:00How easy is SOA?When reading blogs on SOA or technology in general, what strikes me is the amount of misleading information that exists in the space or even worse, the lack of information. When tackling new technologies in open source or standards, the lack of documentation or practical information is quite often missing. Once in awhile, I find a clear and concise document that is able to help me learn a technology rapidly. An example of this was some work I was doing debugging a Hibernate issue. To really understand the process/facilities that Hibernate provides, the base documentation provided a solid basis and was able to get me to completion within a couple of hours. <br /><br />Compare this with work I was doing with some WS Standards, where the only information I could find was the specification and a poorly documented reference implementation. <br /><br />As part of my business diversification towards providing training in the SOA and Open-Source marketplace, I will be trying to distill how SOA, the available tools and design standards can be applied to people that have little to no experience. An example of this is a group of QA personnel who I will be training in SOAPUI. <br /><br />Another group I am training is around building a SOA Application that is front-ended by FLEX and back-ended by MySQL. <br /><br />My current experiences is always focused on the KISS principle. Don't assume the audience is familiar with XSD, WSDL, Service-Orientation etc. <br /><br />To date these students are getting the examples and are helping evolve these heterogenous scenarios into potentially valuable training offerings. So I can definitely answer that SOA is not easy however if approached properly, a wide audience can participate and incorporate the core principles and technologies.Chris Rileyhttp://www.blogger.com/profile/14838855108558965941noreply@blogger.com0tag:blogger.com,1999:blog-479214606211871351.post-20414484066175353322009-02-03T10:28:00.001-08:002009-02-03T20:41:46.352-08:00"SOA is Dead" QuestionsAnne Thomas Manes from Burton Group recently posted an article related to the <a href="http://apsblog.burtongroup.com/">Death of SOA</a>. Many customers that I work with who are in the middle of SOA Projects had questions on the article. Anne's presentation on SOA Fatigue at the SOA Symposium was also a prelude to this posting. If one examines the article, you can draw the following points:<br /><br /><br />- SOA Technologies from various vendors have become obtuse, costly and difficult to implement<br />- Enterprise SOA success in the marketplace is limited to a small collection of customers and is not widely seen due to the amount of effort to establish the entire Inventory.<br />- Service-orientation principles are still valid and important in providing value to the customer.<br />- Services should be the focus not SOA. <br /><br />If one is attempting to apply SOA to a domain or Enterprise, we should revisit the goals of SOA:<br /><br />- Intrinsic Interoperability<br />- Vendor Independence<br />- Increased Federation<br />- Business and Technology Domain Alignment<br />- Increased ROI<br />- Organization Agility<br />- Reduced IT Burden<br /><br />These goals are then supported by the following principles of service-orientation<br /><br />- Standardized Contract<br />- Loose Coupling<br />- Reusability<br />- Abstraction<br />- Autonomy<br />- Statelessness<br />- Discoverability<br />- Composability<br /><br />The application of service-orientation helps guide business analysts and architects towards resuable, agnostic services. By following these principles, we in affect are directly supporting interoperability, vendor independence and federation. Service development also benefits from business and technology domain alignment when analyzing existing processes in an Inventory Analysis. <br /><br />The success of customers I work with has been on supporting a domain versus the entire Enterprise. Success of the domain efforts in several cases has caused the business side of the organization to consolidate functionality in other divisions to leverage the domain services and their demonstrated benefits. <br /><br />The key in Anne Thomas Manes blog is that the fundamental piece of SOA, the service, is still important. A service is logic that has applied service orientation to a meaningful extent. This in combination with SOA Design Patterns provides the architect/developer with a solid foundation for realizing the benefits. How you the develop, register, host, monitor the service can be done in a heterogeneous way with a wide range of standards, technologies and patterns.Chris Rileyhttp://www.blogger.com/profile/14838855108558965941noreply@blogger.com0