July 07, 2009

SOA Zombies invade Boston, Film at 11:00…

…well, 11:00 on the evening of July 23.  As I mentioned on Business-Driven Architect, I’ll be hanging with the SOA Zombies, believers and one famous SOA obituary writer, at ZapThink’s “Night of the Living SOA Dead”:

“On July 23, 2009 dozens of experts, pundits, and influential guests will gather in Boston, MA for an evening of networking and discussion on the topics of Service-Oriented Architecture (SOA) and Enterprise Architecture (EA). Open to public enrollment and attendance, the topic of discussion for the panel will be the recent news and discussion about the "Death of SOA." Is SOA really dead? Is it dying? Or is it changing? And what about those that are currently doing something with SOA or even just interested in the topic? Are we the "living dead"?

As a way of encouraging dialogue, networking, and communication within the SOA and EA, ZapThink is hosts its evening ZapForum networking events throughout the world. At this upcoming event on July 23, 2009 in Boston, MA, guest experts expecting to attend include Anne Thomas Manes (Burton Group), Dana Gardner (Interarbor Solutions), Jason Bloomberg (ZapThink), Brenda Michelson (Elemental Links), Sandy Rogers, and Ronald Schmelzer (ZapThink).”

The gathering is Thursday, July 23, 2009, 5:30PM-8PM ET @ M.J. O'Connor's Irish Pub, 27 Columbus Avenue, Boston, MA 02116.  For more information go here.  But before you do that, note this 50% off discount code: PRTDISC.

July 06, 2009

Still time to brag about your S-O-A Success --- Contest Deadline Extended until July 20, 2009

By popular demand, the deadline for the SOA Consortium | CIO magazine SOA Case Study contest has been extended until July 20, 2009.  The contest is a great way to recognize your organization, garner industry-wide praise for your hard working project team, and as Dave Linthicum suggests, contribute your knowledge and experience to further industry best practices. 

The entrance requirements and submission are simple.  To qualify, your organization (business or government, any size) must have successfully delivered business or mission value using a SOA approach. That’s it.  No membership, no fees, just brag about your success.

As for the submission itself, we understand your time is in high-demand.  To submit your story, merely answer the following 7 questions:

1. What was the business challenge or problem addressed by the SOA project, and why was SOA selected to address this? (500 words max)

2. When was the project started, how large was the project and how was it funded, and how long did it take to see results? (300 words max)

3. What was the planned and achieved ROI/Business Value (ie, improved agility, innovation, flexibility, optimization, resilience)? (500 words max)

4. How was the SOA Project team organized and what types of business staff were on the team? How was cross-organization collaboration (Business/Technical) achieved? Was a Center of Excellence or Competency Center created? (300 words max)

5. What technology or software was used in the project? What vendors were involved? Was service reuse taken into consideration? What was the most complex technical challenge encountered? (300 words max)

6. What were the most significant lessons learned from the SOA project? (300 words max)

7. How has the challenging economic climate influenced your SOA project? (300 words max)

Need more information?  Learn more about the contest, read about last year’s winners or get the scoop on last year’s judging.  Still more?  Check out what (my fellow) SOA-rati are saying – Dave, Joe, and ZapThink.

Ready to start your submission?  Go here.  Good Luck! 

 

[Disclosure: The SOA Consortium is a client of my firm, Elemental Links.]

June 03, 2009

Grumpy Architect week: There is more to services than re-use

Perhaps I’m just grumpy this week.  Or, concerned for the future.  Or, most likely, both.  Nevertheless, I find conventional SOA lore more bothersome than usual.  Specifically, the paired notions that the sole reason to implement services (or not) is re-use potential, and that the main architectural aspect of SOA is governing said services for re-use. Now, don’t misinterpret, there is true value in sharing services and governance is critical.  However, SOA, or better said, services-architecture doesn’t begin and end with re-use potential and enforcement.

For those with architectural backgrounds – software not marketing trend – what follows is nothing new.  You are well acquainted with foundational tenets such as separation of concerns, modularity, loose coupling, cohesion etc and the associated benefits.  Unfortunately, based on my interactions over the last several months, I must report (a) this knowledge is not universal (b) people can’t articulate the benefits of well-architected software and/or (c) the dots don’t connect all the way to SOA.

Since the presence of well-defined (and well-built services) is assumed in a bevy of existing and emerging technology strategies -- mashups, event-processing, business process automation and cloud computing -- we need to correct the record on the total value of services and make the connection to proper architectural discipline.

To aid in this ‘services-architecture’ education, I’d like to call out excerpts of three works.  The first source is Luke Hohmann’s excellent 2003 book, Beyond Software Architecture.  In Chapter 1, Hohmann describes (reminds us of) architectural design principles that have stood the test of time:

“Encapsulation
The architecture is organized around separate and relatively independent pieces that hide internal implementation details from each other.

Interfaces
The ways that subsystems within a larger design interact are clearly defined.  Ideally, these interactions are specified in such a way that they can remain relatively stable over the life of the system.  One way to accomplish this is through abstractions over the concrete implementation.  Programming to the abstraction allows greater variability as implementation needs change.

…Another area in which the principle of interfaces influences system design is the careful isolation of aspects of the system that are likely to experience the greatest amount of change behind stable interfaces.

Loose Coupling
Coupling refers to the degree of interconnectedness among different pieces in a system.  In general, loosely coupled pieces are easier to understand, test, reuse, and maintain, because they can be isolated from other pieces of the system.  Loose coupling also promotes parallelism in the implementation schedule.  Note the application of the first two principles aides loose coupling.

Appropriate Granularity
One of the key challenges associated with loose coupling concerns component granularity.  By granularity I mean the level of work performed by a component.  Loosely coupled components may be easy to understand, test, reuse, and maintain in isolation, but when they are created with too fine of a granularity, creating solutions using them can be harder because you have to stitch together so many to accomplish a meaningful piece of work.  Appropriate granularity is determined by the task(s) associated with the component.

High Cohesion
Cohesion describes how closely related the activities within a single piece (component) or among a group of pieces are.  A highly cohesive component means that its elements strongly relate to each other.

Parameterization
Components can be encapsulated, but this does not mean that they perform their work without some kind of parameterization or instrumentation.  The most effective components perform an appropriate amount of work with the right number and kind of parameters that enable their user to adjust their operation. 

Deferral
Many times the development team is faced with a tough decision that cannot be made with certainty. …By deferring these decisions as long as possible the overall development team gives themselves the best chance to make a good choice.  While you can’t defer a decision forever, you can quarantine its effects by using the principles of good architectural design.” 

To state the obvious, the above principles all apply to service design.  Pointing out the (apparently) less obvious, the value of applying these principles – protecting against and planning for change, breaking up work, smart-sizing assets, isolating risk – are benefits that can be derived from services, regardless of re-use potential.

Moving to a real world example, the March 2008 Harvard Business Review featured an article by David M. Upton and Bradley R. Staats, entitled Radically Simple IT.  The article is on Japan’s Shinsei Bank implementing a new enterprise system:

“In our research, we discovered a standout among the companies applying the path-based method: Japan’s Shinsei Bank. It succeeded in developing and deploying an entirely new enterprise system in one year at a cost of $55 million: That’s one-quarter of the time and about 10% of the cost of installing a traditional packaged system. The new system not only served as a low-cost, efficient platform for running the existing business but also was flexible enough to support the company’s growth into new areas, including retail banking, consumer finance, and a joint venture to sell Indian mutual funds in Japan.

The path-based principles that Shinsei applied in designing, building, and rolling out the system—forging together, not just aligning, business and IT strategies; employing the simplest possible technology; making the system truly modular; letting the system sell itself to users; and enabling users to influence future improvements—are a model for other companies. Some of these principles are variations on old themes while others turn the conventional wisdom on its head.”

Although the entire article is excellent, I wanted to call out the section on “Modularity, not just modules”.  The emphasis is mine.

“While the prevailing view that big IT programs and systems should consist of modules is hardly new, the concept of modularity is often misunderstood. Just because a software developer claims that the various parts of its applications are modules does not mean that they are actually modular. Modularity involves clearly specifying interfaces so that development work can take place within any one module without affecting the others. Companies often miss that point when developing enterprise systems. For example, we know of an automobile company that had teams working on multiple modules of a new enterprise system and claimed to have a modular design. However, one team was in charge of interfaces and was constantly changing them. Every alteration by this group forced all the other groups to spend huge amounts of time redoing the work they had already completed. Rather than limiting the impact of changes by embracing modularity, this company had actually amplified problems!

A truly modular architecture allows designers to focus on building solutions to local problems without disturbing the global system. With small, modular pieces, the organization can purchase off-the-shelf solutions or turn to inside or outside developers for a certain piece, accelerating the speed of development. Modular architecture also makes it easier to upgrade the technology within modules once the system is up and running.

Breaking down and solving problems in this way offers a number of advantages beyond speed. It allows the IT team to concentrate on obtaining the lowest-cost solution for each part and (by partitioning work) reduces the impact of a single point of failure. Clearly specifying the functions of modules and the interfaces makes it easier to build a module that can be reused in other applications.

The modular approach was a critical part of achieving the bank’s strategy, as Dvivedi described it, “to scale up and expand into new activities with ease, to be able to service the needs of the organization as it grows from a baby into an adult…and avoid building capacity before we need it.” Take loan-processing capabilities. The project team rolled out the capabilities in small stages for three reasons: to prove to management that the computer system would perform as promised, to avoid overwhelming managers and users with too much automation all at once, and to be able to address any technical issues quickly as they arose. Accordingly, the team initially sought to show that the system could correctly approve credit for a small number of loans (20 to 30 a day). Then the team developed the capacity to fully process 200 to 300 loans a day. As the business grew, Shinsei eliminated manual work to reach a capacity for processing 6,000 loans a day.

Thanks to the modular structure of the automated system, Shinsei can simply replace one part (the loan-application or credit-checking functions, for example) without affecting the rest. What’s more, modularity has allowed Shinsei to change its IT when appropriate or necessary without having to risk upsetting customers. It can keep the customer interfaces (such as web pages or the format of the ATM screen) the same while changing the back-end systems.”

Besides the excellent real-world example in applying and benefiting from the architectural principles cited by Hohmann, this article also calls out the ability to source functionality at a modular level.  With the advent of cloud computing, and subsequent opening of service markets, there is even more motivation to design and implement a services architecture.  As Dave Linthicum advises, “leverage other people’s work”.

Lastly, I want to point out a sidebar Guide to Modularity, from a 1997 Harvard Business Review article on Managing in an Age of Modularity.  The premise of this article was to introduce managers outside of technology and manufacturing to embrace modularity practices in product development:

“By breaking up a product into subsystems, or modules, designers, producers, and users have gained enormous flexibility. Different companies can take responsibility for separate modules and be confident that a reliable product will arise from their collective efforts.”

A Guide to Modularity

“Modularity is a strategy for organizing complex products and processes efficiently. A modular system is composed of units (or modules) that are designed independently but still function as an integrated whole. Designers achieve modularity by partitioning information into visible design rules and hidden design parameters. Modularity is beneficial only if the partition is precise, unambiguous, and complete.

The visible design rules (also called visible information) are decisions that affect subsequent design decisions. Ideally, the visible design rules are established early in a design process and communicated broadly to those involved. Visible design rules fall into three categories:

•    An architecture, which specifies what modules will be part of the system and what their functions will be.

•    Interfaces that describe in detail how the modules will interact, including how they will fit together, connect, and communicate.

•    Standards for testing a module’s conformity to the design rules (can module X function in the system?) and for measuring one module’s performance relative to another (how good is module X versus module Y?).

Practitioners sometimes lump all three elements of the visible information together and call them all simply “the architecture,” “the interfaces,” or “the standards.”

The hidden design parameters (also called hidden information) are decisions that do not affect the design beyond the local module. Hidden elements can be chosen late and changed often and do not have to be communicated to anyone beyond the module design team.”

In respect to SOA, the design rule most often broken is identifying “what modules will be part of the system and what their functions will be.”  The most common mistakes:

  1. the service portfolio map’s scope is immediately reduced to “those services that will be re-used”
  2. the service portfolio map mirrors the current software asset repository
  3. the service portfolio map is a derived artifact from individual project plans and deliverables

In creating a service portfolio map, start with business capabilities, business processes and/or business information, and perform business analysis to identify key business concepts that will represented by, further partitioned into, services.  Depending on the granularity of your starting point, work two to four levels down.  For instance, if your starting point is Supply Chain, you’ll still be doing business analysis four levels down.  If your starting point is Warehouse Receiving, by the fourth level you are probably in implementation detail.  Fine for a Warehouse Receiving project, but too deep for your service portfolio map.

With a clear understanding of the architectural aspects and full benefits of services, and a high-level service portfolio map, you can better position your organization to succeed in this new environment where services, and a services mindset, are assumed.

May 27, 2009

Curious about SoaML (UML Profile for SOA)?

At the March SOA Consortium meeting, Cory Casanave, CEO, Model Driven Solutions & ModelDriven.org, gave an overview presentation & demo on Enterprise SOA Modeling with the new OMG SoaML UML profile. (pdf)

SoaML is a UML profile and metamodel for the design of services within a service-oriented architecture.  SoaML can be used for architecture level modeling, or as part of a model driven architecture (MDA) process, starting with a business model and transitioning through logical and physical models, resulting in technology implementation. Since it is a UML profile, it is immediately compatible with existing UML tools.

Casanave began by setting context, describing the rationale and objectives of SoaML,  how SoaML views a service (agreement between parties to exchange something),  the  top-down (business-driven) and bottoms-up (legacy-aware) usage paths, and the mapping of those paths to model driven architecture (MDA).

To bring the specification to life, Casanave walked through the artifacts related to a claims processing scenario, including the services architecture model (see below), business process model, service contract, participant interaction model, message types, service interface, service usage, participant model, composite application structure and information model. 

[Click on Picture to Enlarge]

Included in the example was the iteration of model detail as the process moved from business concept to logical model to systems model.  In a follow-on demonstration, Casanave highlighted the transition from physical model to technology implementation using ModelPro, a new open source tool.

Even if you don’t have the time to listen to the podcast of Cory’s talk, I highly recommend flipping through the slide deck to see SoaML in the context of a real business example.  All of the artifact slides are nicely annotated like the one above.

To listen to the audio recording of the presentation portion of Casanave’s session and/or view the rest of the slides go here.  To view the entire SoaML specification, please go here. (200 page pdf)

 

[Disclosure: The SOA Consortium is a client of my company, Elemental Links.]

May 26, 2009

Business Outcomes from Services & Assemblies? Bragging rights on your S-O-A success

Did you hear SOA died again last week?  Does this make SOA more dead?   Finally dead?  Or, on par with Jason from Friday the 13th, deadish, but always lurking for a sequel?  Bad analogies aside, this time Anne is much more deliberate in separating “SOA” the marketing term, from s-o-a the practice:

"SOA" as a term has lost its luster, but "SOA" as a practice is essential for all organizations going forward” 

So, you could say I was right in my “cheeseburgers are dead, but demand for burgers with cheese is at an all time high” quip from January. 

This all brings me back to something I was talking and tweeting about last fall, that “it’s time S-O-A stood for services, outcomes and assemblies”.  As I shared with Dave Linthicum, I picked 2009 as the year organizations shift their SOA perspective from infrastructure to solutions.  And, that we’d start to hear more frequently from organizations that were early with this business-driven mindset.

This (finally) brings me to the point of this post… If you have a story to tell, now is the time.  The SOA Consortium and CIO magazine are once again partnering on a SOA case study contest.  Entries are open until June 26, 2009.  For more information on the contest, I’m excerpting my post from SOA Consortium Insights:

“Do you have a SOA Success Story?  Can you tie your SOA initiative to quantifiable business value and/or IT efficiency?  Have you learned lessons that others should know?  Did you find a way to persevere despite a tough economic climate and industry noise on SOA’s health?  Would you like an opportunity to share your story?  Garner industry-wide praise for your well-deserving team?  Then, look no further…

The SOA Consortium and CIO Magazine are proud to announce the 2009 edition of our Service Oriented Architecture (SOA) Case Study Competition. The competition is open to organizations of all sizes, including government agencies, which have successfully delivered business or mission value using a SOA approach.

Similar to the inaugural contest in 2008, the goal of the SOA Case Study Competition is to highlight business success stories and lessons learned to provide proof points and insights for other organizations considering or pursuing SOA adoption. To qualify for the competition, the SOA project must be complete with demonstrated business results.

Entries will be judged on the complexity of the business problem addressed, the ROI/Business Value achieved (Agility/Innovation/Flexibility/Optimization/Resilience), the level and sophistication of the cross-organizational collaboration (Business/Technical), the usage of SOA approaches and supporting technology and lessons learned. In addition to one overall winner, organizations will be recognized by industry/government.

To learn more about the contest and start your application, please visit the case study contest center on the SOA Consortium Site.

To read about last year’s winners go here.  And, for insights into the 2008 judging criteria, go here

To help us spread the word on real-world SOA success, please tell your colleagues and SOA community friends about our contest with CIO Magazine.

Fine print: Entries are open now through June 26, 2009.  Only entries from team members are valid.  [Translation: We will screen out vendor submitted marketing case studies.]”

 

[Disclosure: The SOA Consortium is a client of my company, Elemental Links.]

About | Contact

Ads

Subscribe



  • Powered by FeedBlitz


Ads 2

Search

  • Google

    WWW
    blog.elementallinks.com

Affiliate

Accountability

  • The ideas and opinions expressed in this blog are my own.

License

blogosphere



Blog powered by TypePad