My company is hosting the current Zapthink LZA SOA Bootcamp this week. We have a mixture of attendees from various government agencies, consulting companies, and from the marketing and advertising industry. The class is being taught by Jason Bloomberg from Zapthink who knows SOA inside and out. I highly recommend this class for any company who is trying to implement SOA.
Day 1 was focused on the fundamentals of SOA and service-oriented analysis and design. I'll highlight some of the key take aways below.
Companies require agility. IT needs to respond faster to change. We must architect to change.
The reason for architecture is to support the problems of the business. In my opinion, many times architecture focuses solely on IT and forgets that we are here to enable the business to meet its objectives.
Service Oriented is a business concept. Many people think SOA is all about connecting things. SOA is really all about enabling flexible business processes and providing agility.
SOA is architecture. You can not buy SOA, you do SOA! It is a set of best practices and the discipline to follow them. SOA is all about abstraction and creating loosely coupled business services. These services should be interoperable, unbreakable, reusable, and composable.
SOA is not Web Services and Web Services are not SOA. SOA is an architectural approach while web services are a standards based interface. You can do SOA without web services.
SOA is distributed computing. SOA shifts us towards decentralization and empowers the business. It simplifies things for the business but greatly increases the complexity for IT. IT can no longer ignore governance if it wants to successfully implement SOA.
SOA doesn't replace anything, it extends it. The beauty that I see in SOA is its tie to BPM. I can deploy a brand new workflow driven, composite user interface that leverages SOA to extend the life and value of years of legacy systems, without having to spend years rearchitecting fully depreciated and working systems. In other words, I can provide the business with more modern tools and optimized workflow without blowing up my existing systems.
SOA is not about portability, it is about interoperability - If your implementation is dictating a certain technology, then you are not doing SOA. You must think in terms of the business. The business doesn't care if the you use Java or .Net, the business only cares that it works. You must architect the business service in a way that the underlying technology does not matter. Changing the underlying technology should not impact the business services. Think of the universal remote control. You can program it to work on any brand and on multiple devices (TV, VCR, DVD, CD, Home Theather, etc.). The remote control has no idea how the technology is physically implemented or even what it looks like. It does know how to send messages back and forth to the devices.
SOA is declarative not programmatic. This means that the business logic is configurable as opposed to being hard coded. SOA provides the ultimate flexibility and agility.
SOA supports business goals. With this mindset, software plays the supporting role as opposed to dictating how the business works (ie. SAP, PeopleSoft, etc.).
BPM is the killer app. You can't do BPM without SOA and visa versa. Integration is a side effect of enabling business processes.
This summary is just a fraction of the wealth of information that was shared today. In addition to the great lecture and corresponding slides, the class had numerous group exercises that allowed the different companies to share their personal experiences from their SOA projects. These experiences were just as valuable as the presentation. All in all it was a very productive first day!
Post Comments (Atom)