Skip to content

{ Category Archives } SOA

Pragmatic BPM and SOA webinar

The webinar that I recorded a couple of weeks back for SearchSOA has finally made it online, although I can only find it on the SearchCIO site. You have to register for the site in order to listen to it, although it’s free.

Webinars and podcasts

This seems to be my month for webinars and podcasts. Here’s the line-up:

  • I recorded a webinar for SearchSOA a few weeks ago on a pragmatic approach to using SOA and BPM together, particularly in the area of service discovery and specification. Unfortunately, I can’t find it on their site, so not sure if it’s been published yet. Keep looking.
  • On March 18th, I’ll be doing a live webinar on BPM centers of excellence that will become part of the Appian-sponsored BPM Basics informational site. You can sign up for the webinar here if you want to listen to it live, which will include Q&A from the audience; the version without Q&A will be available for replay on the BPM Basics site.
  • That same week, I’ll be recording a podcast with Savvion’s Dr. Ketabchi on BPM in a down economy. There have been a few other webinars on this topic lately, but right now it’s a very popular message and there’s lots to talk about. This will be published on ITO America, which provides broad coverage of technology issues for higher-level technical management.

The fun part of these three is that not only are they three completely different topics, they’re targeted at three different audiences: the first for developers and other technical people, the second for business and mid-level project team members, and the third at CIOs. Although doing webinars and white papers is a small part of my business, the research, analysis and writing that goes into them really helps to hone my ideas for applicability with my enterprise clients who are implementing BPM.

Innovation World: Day 1 keynote

Karl-Heinz Streibich gave the opening keynote; some of the same messages as his address at the media and analyst forum yesterday, plus some messaging about how SOA is a paradigm shift, and the Net generation entering the workforce is a strong driver for modernization and integration. He made the point that process innovation outranks product innovation, and how BPM is the future: companies who apply process management are more agile (hence more competitive) and have more optimized processes (hence are more efficient).

He finished up by referring to their new process frameworks — vertical templates including process models, user interfaces, business rules and KPI definitions for building solutions quickly — but didn’t elaborate; however, they issued a press release today discussing them in more detail. Software AG is providing the following process frameworks:

  • Order-to-Cash
  • Procure-to-Pay
  • Payments
  • Underwriting
  • Product Recall
  • New Product Introduction
  • Monthly/Quarterly Closing
  • Employee On-boarding

In addition, their partners are providing frameworks for automotive claims management, electronic check processing, claims management, field services jeopardy management, invoice dispute management, and telecommunications service provisioning.

We also heard from Dr. Peter Kürpick, with much the same message as he delivered yesterday at the analyst forum, although I think that the animated graphics in his slides were nicer today, especially the one showing a process orchestrated across several organizations participating in the end-to-end supply chain. He talked about some of their customers and how they’re improving their business processes using SOA and BPM.

I believe that he had an error in one of his slides, however: in showing how Software AG is a leader in several categories of the analyst reports, and their competitors are not, he showed that they’re a leader in Forrester’s human-centric wave but TIBCO is not. I’m looking at the the wave report right now, and TIBCO actually places higher in the leader category than Software AG. I may have mis-read the slide, it went by quickly and I didn’t have a chance to snap a photo.

He finished up highlighting some of the things coming out of their research lab that will be seen at the demo jam competition today, including BAM capabilities that can be viewed on the iPhone.

Innovation World: Media and Analyst Forum

I’m spending the morning at the media and analyst forum at Software AG’s user conference, Innovation World, in Miami. The first half of the morning covered mainframe modernization, plus a presentation by Miko Matsumura (who I met last week at the Business Rules Forum), Deputy CTO, on the state of SOA adoption. He’s just published a book — more of a booklet at 86 pages — on SOA Adoption for Dummies, continuing Software AG’s trend of using the Dummies brand to push out lengthy white papers in a lighthearted format. For example, chapter 10 is SOA Rocket Science, which covers three principles of SOA:

  1. Keep the pointy end up (instrumentation)
  2. Maintain upward momentum (organization)
  3. Don’t stop until you’re in orbit (automation)

He finished up with a discourse on SOA as IT postmodernism, casting postmodernism as an architectural pattern language: given a breakdown in the dominant metanarrative and the push towards deconstructionism, a paradigm of composition emerges…

After the break, we heard from Ian Walsh from webMethods product marketing to give us an overview of the webMethods suite:

  • webMethods BPM, including process management, rules management and simulation
  • CAF (composite application framework), for codeless application design and web-based composite applications
  • BAM, including process monitoring and alerting, and predictive management

He stated that the “pure-play” BPMS vendors (mentioning Lombardi, Savvion and Pega) are having problems because they sold on the ability to allow the  business to create their own processes quickly, but that doesn’t work in reality when you have to integrate complex systems. He also said that the platform vendors (Microsoft, IBM, Oracle) have confusing offerings that are not well integrated, hence take too long to implement. He mentioned TIBCO as a special case, neither pure-play nor platform, but sees their weakness as being very focused on events: good for their CEP strategy, but not good for their broader BPM/SOA strategy.

Walsh sees their strengths in both BPM and SOA as their differentiator: customers are buying both their BPM and SOA products together, not individually.

Bruce Williams was up next speaking on the BPM as the killer application for SOA. He’s a Six Sigma guy, so spent some time talking about BPM in the context of quality management initiatives: if we can manage processes well, we can achieve our business goals; in order to manage processes, we need some systems and infrastructure. He defines the killer app as being flexible and dynamic, not a fixed state or a system with unchangeable functionality. He sees BPM as being the language that can be spoken and understood by both business and IT: not the Tower of Babel created by technology-speak, but how process ties to business strategy.

Logistics are not great: they’ve billeted me in the down-market Marriott Courtyard next door rather than at the Hyatt where the conference is being held (I had to change rooms due to no hot water, can’t run the a/c at night because of the noise, and I have a view — complete with sound effects — of the I95 onramp), and there’s no wifi or power in the lecture hall. There’s supposed to be wifi, but it’s a hidden, protected network that only some people seem to be able to connect to (yes, I added it manually to my wireless network settings). They’ve promised us power at the desks and some assistance with the wifi after lunch.

In case my policy about vendor conferences isn’t crystal clear from previous posts, Software AG is paying my travel expenses to be here, although they are not compensating me for my time nor do they have any editorial control over what I write.

Business Rules Forum: Pedram Abrari on MDA, SOA and rules

Pedram Abrari, founder and CTO of Corticon, did a breakout session on model-driven architecture, SOA, and the role that rules play in all of this. I’m also in the only room in conference center that’s close enough to the lobby to pick up the hotel wifi, and I found an electrical outlet, so I’m in blogger heaven.

It’s a day for analogies, and Abrari uses the analogy of car for a business application: the driver representing business, and the mechanic representing IT. A driver needs to have control over where he’s going and how he gets there, but doesn’t need to understand the details of how the car works. The mechanic, on the other hand, doesn’t need to understand where the driver is going, but keeps the car and its controls in good working order. Think of the shift from procedural to declarative development concepts, where we’ve moved from stating how to do something, to what needs to be done. A simple example: the difference between writing code to sum a series of numbers, and just selecting a range of cells in Excel and selecting the SUM function.

The utopia of model-driven architecture (MDA) is that  business applications are modeled, not programmed; they’re abstract yet comprehensive, directly executable (or at least deployable to an execution environment without programming), the monitoring and analytics are tied directly to the model, and optimization is done directly on the model. The lack of programming required for creating an executable model is critical for keeping the development in the model, and not having it get sucked down into the morass of coding that often happens in environments that are round-trippable in theory, but end up with too much IT tweaking in the execution environment to ever return to the modeling environment.

He then moved on to define SOA: the concept of reusable software components that can be loosely coupled, and use a standard interface to allow for platform neutrality and design by contract. Compound/complex services can be built by assembling lower-level services in an orchestration, usually with BPM.

The key message here is that MDA and SOA fit together perfectly, as most of us are aware: those services that you create as part of your SOA initiative can be assembled directly by your modeling environment, since there is a standard interface for doing so, and services provide functionality without having to know how (or even where) that function is executed. When your MDA environment is a BPMS, this is a crystal-clear connection: every BPMS provides easy ways to interrogate and integrate web services directly into a process as a process step.

From all of this, it’s a simple step to see that a BRMS can provide rules/decisioning services directly to a process; essentially the same message that I discussed yesterday in my presentation, where decision services are no different than any other type of web services that you would call from a BPMS. Abrari stated, however, that the focus should not be on the rules themselves, but on the decision service that’s provided, where a decision is made up of a complete and consistent set of rules that addresses a specific business decision, within a reasonable timeframe, and with a full audit log of the rules fired to reach a specific decision in order to show the decision justification. The underlying rule set must be declarative to make it accessible to business people.

He ended up with a discussion of the necessity to extract rules out of your legacy systems and put them into a central rules repository, and a summary of the model-driven service-oriented world:

  • Applications are modeled rather than coded
  • Legacy applications are also available as web services
  • Business systems are agile and transparent
  • Enterprise knowledge assets (data, decisions, processes) are stored in a central repository
  • Management has full visibility into the past, present and future of the business
  • Enterprises are no longer held hostage by the inability of their systems to keep up with the business

Although the bits on MDA and SOA might have been new to some of the attendees, some of the rules content may have been a bit too basic for this audience, and/or already covered in the general keynotes. However, Abrari is trying to make that strong connection between MDA and rules for model-driven rules development, which is the approach that Corticon takes with their product.

Ultimus: V8 technical demo

FlobotI ended up wrapped up in a discussion at the break that had me arrive late to the last session of the day; Steve Jones of Ultimus is going through many of the technical underpinnings of V8 for designers and developers, particularly those that are relevant to the people in the audience who will be upgrading from those old V7 systems soon.

A nice way to integrate with web services, where the WSDL can be interrogated and a data structure matching the interface parameters created directly from that; most other systems that I’ve seen require that you define the process parameters explicitly then map from one to the other. Of course, there’s lots of cases when you don’t want a full representation of the web services interface, or you want to filter or combine parameters during interface, but this gives you the option for setting up a lot of web services really quickly.

The integrated rules editor allows you to drag and drop process variables — including recipients — onto a graphical decision tree; you don’t have the full power of a business rules system, but this may be enough for a lot of human-centric processes where most of the complex decisions in the process are made by people rather than the system.

For interfacing with any of the external components, such as the email connector or a form, it’s possible to drag and drop data fields from the process instance schema or org chart/ActiveDirectory directly to assign variables for that component, which is a pretty intuitive way to make the link between the data sources and the external calls. They’ve also eliminated some of the coding required for things like getting the current user’s supervisor’s email address, which used to require a bit of code in V7.

Ultimus provides a virtual machine with the software pre-installed as part of their training offerings, which is a great way to learn how to work with all of this; I don’t understand why more vendors don’t provide this to their customers.

I looked back to some old notes from early 2007 when I had a demo of Ultimus V7; my impression at that time is that it was very code-like, with very little functionality that was appropriate for business analysts; V8 looks like a significant improvement over this. They’re still behind the curve relative to many of their competitors, but that’s not completely surprising considering their management upheavals over the past year. If you’re a pure Microsoft shop, however, you’ll likely be willing to overlook some of those issues; Forrester placed Ultimus in the leaders sector (in an admittedly small field) in their report on human-centric BPM on Microsoft platforms. In the broader market of all BPM vendors, Gartner placed them in the visionaries quadrant: good completeness of vision, but not quite enough ability to execute to make it into the leaders quadrant, although this latter assessment seemed to be based on the performance of the previous management team.

Steve spent a bit of time showing the V8 end-user interface: reconfigurable columns in task lists, including queries and filters; shared views to allow a personal view to be shared with another user (and allow that other user to complete work on your behalf); and the ability to run reports directly out of the standard user environment, not a separate interface.

They’ve also done some performance improvements, such as moving completed process instances to a separate set of tables (or even archived out to another database) for historical reporting without impacting the performance of work in progress.

That’s it for me for the conference (and the week); tonight, we’ll be down by the Riverwalk drinking margaritas while listening to a Mariachi band. Tomorrow is an Ultimus partner day and I’ll be on an early morning flight home. Next week, I’ll be at the Business Rules Forum in Orlando, where I’m giving a presentation on mixing rules and process. The following week, I’m headed to Miami for the Software AG analyst/blogger roundtable and a day at their user conference, a late addition to my schedule.

Ultimus: V8 Technical Deep Dive

Chris Adams is back for a somewhat longer session — I think that he zipped through the previous overview session in about 5 minutes to make up time on the schedule — to give us a lot more detail on the V8 product features. Some of this will only be of interest to Ultimus customers, but I find that it gives some good insight into how the product works and the directions that they’re taking.

First, he discussed what’s already in the released 8.x product:

  • Flobot connectors are now reusable. “Flobots” are the Ultimus connectors to other systems, with about 10 types available out of the box including web services calls (and I now have a very cool Flobot USB key); previously, you had to reconfigure each connector for every use. For example, for the email connector, you had to set up all parameters for the email connector (ports, authentication, etc.) each place it was used in the process, and change it whenever there was a change to, for example, the recipient. Now, they’ve allows for a reusable connector that has some or all of the parameters predefined to allow that to be more easily used in the process.
  • XML data storage replaces the V7 spreadsheet data structure that was previously used (which previously limited each data element to 255 characters, a limit that I sense from the audience was a sore point). My first reaction was “you used to keep your process instance data in a spreadsheet?”; sometimes you only find out about weirdnesses in a product when you hear about their upgrade out of that state.
  • Ultimus BPM SuiteA new Ultimus rules engine replaces event conditions, with a graphical representation of the rules. Rules actions can be related to steps in the process, or call .Net code or web services. Previously, the event conditions were kept in the spreadsheet data structure, and you had to reference the spreadsheet cell address rather than a schema variable name within rules. Now, you can add rules to processes directly in-line using the process parameters in the rule definitions.
  • Native ActiveDirectory support, so that you can (for example) assign a step to a group that exists in AD. You can still use their org chart functionality to create groups directly in Ultimus.
  • Attachments to process instances have been moved off the BPM server, and into SharePoint. You can use another content repository, but they do SharePoint out of the box and feel that it’s the best integrated solution.

Coming up in 8.2 in December:

  • BPMN support, although you can still convert back and forth to the Ultimus shapes if you’re more familiar with them. He showed a screenshot that looked pretty rudimentary, but it’s not released yet so I’ll reserve judgement until I see the final version.
  • Increased visibility into process incident history, to be able to step through exactly what happened in any particular process instance, including which rules that fired. You can actually playback
  • Enhanced development environment by adding Ultimus awareness to Microsoft Visual Studio for a single environment.
  • Fully exposed APIs, that is, access to the same APIs that the out of the box system is built on to allow you to build the same functionality into your own custom applications, with any function that you see in a pop-up menu also available through an API.

He showed us some architecture diagrams showing their new open architecture, including the client services for building custom client applications, BI services for custom reporting applications, and Flobots for external connectors.

Forrester Integration-Centric BPM report available

Forrester has released the 2008 version of their Wave report on integration-centric BPM suites; you can find it on Vitria’s site here (registration required).

I won’t reproduce the chart here since that always seems to get me in trouble, but suffice it say that Software AG (the former webMethods product), IBM (various WebSphere bits), Vitria, TIBCO (ActiveMatrix), Oracle (SOA Suite; the BEA products were not evaluated due to timing relative to the acquisition), SAP (NetWeaver) and Cordys should all be very happy.

Business Process Driven SOA using BPMN and BPEL

I just received a review copy of Matjaz Juric and Kapil Pant’s new book, Business Process Driven SOA using BPMN and BPEL. It’s on my list of recent books that I’ve received to review, and I hope to get to it soon.

According to the authors’ description, you’ll learn the following from this book:

  • Modeling business processes in an SOA-compliant way
  • A detailed understanding of BPMN standard for business process modeling and analysis
  • Automatically translating BPMN into BPEL Executing business processes on SOA platforms
  • Overcome the semantic gap between process models and their execution, and follow the closed-loop business process management life cycle
  • Understand technologies complementary to BPM and SOA such as Business Rules Management and Business Activity monitoring Approach

I’ll let you know if I learned all of that once I’ve had a chance to read it.

IBM to acquire ILOG

IBM and ILOG announced today that IBM will be acquiring ILOG for €10/share, or about $US340 million in total.

IBM’s goal is to integrate ILOG’s business rules technology into their existing BPM and SOA offerings:

When completed, the acquisition of ILOG will strengthen IBM’s BPM and SOA position by providing customers a full set of rule management tools for complete information and application lifecycle management across a comprehensive platform including IBM’s leading WebSphere application development and management platform.

The funny part is that the IBM press release take two paragraphs to explain what BPM is, and how business rules are used in the context of BPM, indicating just how niche these technologies still are in the broader business scope.

This may not be good news for ILOG’s other BPM partners; one less independent BRMS company means less choice when it comes to putting your processes and rules together.

Tagged ,

The people part of SOA

I was going to just link to Mike Kavis’ post on the Top 10 Reasons Why People Are Making SOA Fail, but I wanted to added some of my own comments. By the way, he’s talking primarily about IT people, not business people, in the fail part of the equation.

Number 1 reason: they fail to explain SOA’s business value. Kavis recommends (and I completely agree) starting with business problems first, specifically using BPM as the “killer app” to justify the existence of SOA.

He continues with a number of cultural and organizational issues, such as change management and executive sponsorship, then discusses a few of the flat-out IT failure points: not having the skills to actually do SOA (and not getting the outside help required), trying to do it on the cheap, thinking of SOA as a one-time implementation project rather than an ongoing architecture, and neglecting SOA governance.

His final reason for failure is allowing the vendors to drive the architecture:

[T]he vendors promise flawless integration if you purchase all of your tools within their stack. The reality is, they have purchased so many products from other companies that their stacks do not deliver any better integration than if you bought the tools from a variety of vendors.

In the face of recent acquisitions, this could not be more accurate.

Oracle BEA Strategy Briefing

Not only did Oracle schedule this briefing on Canada Day, the biggest holiday in Canada, but they forced me to download the Real Player plug-in in order to participate. The good part, however, is that it was full streaming audio and video alongside the slides.

Charles Phillips, Oracle President, kicked off with a welcome and some background on Oracle, including their focus on database, middleware and applications, and how middleware is the fastest-growing of these three product pillars. He described how Oracle Fusion middleware is used both by their own applications as well as ISVs and customers implementing their own SOA initiatives.

He outlined their rationale for acquiring BEA: complementary products and architecture, internal expertise, strategic markets such as Asia, and the partner and channel ecosystem. He stated that they will continue to support BEA products under the existing support lifetimes, with no forced migration policies to move off of BEA platforms. They now consider themselves #1 in the middleware market in terms of both size and technology leadership, and Phillips gave a gentle slam to IBM for over-inflating their middleware market size by including everything but the kitchen sink in what they consider to be middleware.

The BEA developer and architect online communities will be merged into the Oracle Technology Network: Dev2Dev will be merged into the Oracle Java Developer community, and Arch2Arch will be broadened to the Oracle community.

Retaining all the BEA development centers, they now have 4,500 middleware developers; most BEA sales, consulting and support staff were also retained and integrated into the the Fusion middleware teams.

Next up was Thomas Kurian, SVP of Product Development for Fusion Middleware and BEA product directions, with a more detailed view of the Oracle middleware products and strategy. Their basic philosophy for middleware is that it’s a unified suite rather than a collection of disjoint products, it’s modular from a purchasing and deployment standpoint, and it’s standards-based and open. He started to talk about applications enabled by their products, unifying SOA, process management, business intelligence, content management and Enterprise 2.0.

They’ve categorized middleware products into 3 categories on their product roadmap (which I have reproduced here directly from Kurian’s slide:

  • Strategic products
    • BEA products being adopted immediately with limited re-design into Oracle Fusion middleware
    • No corresponding Oracle products exist in majority of cases
    • Corresponding Oracle products converge with BEA products with rapid integration over 12-18 months
  • Continue and converge products
    • BEA products being incrementally re-designed to integrate with Oracle Fusion middleware
    • Gradual integration with existing Oracle Fusion middleware technology to broaden features with automated upgrades
    • Continue development and maintenance for at least 9 years
  • Maintenance products
    • BEA had end-of-life’d due to limited adoption prior to Oracle M&A
    • Continued maintenance with appropriate fixes for 5 years

For the “continue and converge” category, that is, of course, a bit different than “no forced migration”, but this is to be expected. My issue is with the overlap between the “strategic” category, which can include a convergence of an Oracle and a BEA product, and the “continue and converge” category, which includes products that will be converged into another product: when is a converged product considered “strategic” rather than “continue and converge”, or is this just the spin they’re putting on things so as to not freak out BEA customers who have put huge investments into a BEA product that is going to be converged into an existing Oracle product?

He went on to discuss how each individual Oracle and BEA product would be handled under this categorization. I’ve skipped the parts on development tools, transaction processing, identity management, systems management and service delivery, and gone right to their plans for the Service-Oriented Architecture products:

Oracle SOA product strategy

  • Strategic:
    • Oracle Data Integrator for data integration and batch ETL
    • Oracle Service Bus, which unifies AquaLogic Service Bus and Oracle Enterprise Service Bus
    • Oracle BPEL Process Manager for service orchestration and composite application infrastructure
    • Oracle Complex Event Processor for in-memory event computation, integrated with WebLogic Event Server
    • Oracle Business Activity Monitoring for dashboards to monitor business events and business process KPIs
  • Continue and converge:
    • BEA WL-Integration will be converged with the Oracle BPEL Process Manager
  • Maintenance:
    • BEA Cyclone
    • BEA RFID Server

Note that the Oracle Service Bus is in the “strategic” category, but is a convergence of AL-SB and Oracle ESB, which means that customers of one of those two products (or maybe both) are not going to be happy.

Kurian stated that Oracle sees four types of business processes — system-centric, human-centric, document-centric and decision-centric (which match the Forrester divisions) — but believes that a single product/engine that can handle all of these is the way to go, since few processes fall purely into one of these four categories. They support BPEL for service orchestration and BPMN for modeling, and their plan is to converge a single platform that supports both BPEL and BPMN (I assume that he means both service orchestration and human-facing workflow). Given that, here’s their strategy for Business Process Management products:

Oracle BPM product strategy

  • Strategic:
    • Oracle BPA Designer for process modeling and simulation
    • BEA AL-BPM Designer for iterative process modeling
    • Oracle BPM, which will be the convergence of BEA AquaLogic BPM and Oracle BPEL Process Manager in a single runtime engine
    • Oracle Document Capture & Imaging for document capture, imaging and document workflow with ERP integration [emphasis mine]
    • Oracle Business Rules as a declarative rules engine
    • Oracle Business Activity Monitoring [same as in SOA section]
    • Oracle WebCenter as a process portal interface to visualize composite processes

Similar to the ESB categorization, I find the classification of the converged Oracle BPM product (BEA AL-BPM and Oracle BPEL PM) as “strategic” to be at odds with his original definition: it should be in the “continue & converge” category since the products are being converged. This convergence is not, however, unexpected: having two separate BPM platforms would just be asking for trouble. In fact, I would say that having two process modelers is also a recipe for trouble: they should look at how to converge the Oracle BPA Designer and the BEA AL-BPM Designer

In the portals and Enterprise 2.0 product area, Kurian was a bit more up-front about how WebLogic Portal and AquaLogic UI are going to be merged into the corresponding Oracle products:

Oracle portal and Enterprise 2.0 product strategy

  • Strategic:
    • Oracle Universal Content Management for content management repository, security, publishing, imaging, records and archival
    • Oracle WebCenter Framework for portal development and Enterprise 2.0 services
    • Oracle WebCenter Spaces & Suite as a packaged self-service portal environment with social computing services
    • BEA Ensemble for lightweight REST-based portal assembly
    • BEA Pathways for social interaction analytics
  • Continue and converge:
    • BEA WebLogic Portal will be integrated into the WebCenter framework
    • BEA AquaLogic User Interaction (AL-UI) will be integrated into WebCenter Spaces & Suite
  • Maintenance:
    • BEA Commerce Services
    • BEA Collabra

In SOA governance:

  • Strategic:
    • BEA AquaLogic Enterprise Repository to capture, share and manage the change of SOA artifacts throughout their lifecycle
    • Oracle Service Registry for UDDI
    • Oracle Web Services Manager for security and QOS policy management on services
    • EM Service Level Management Pack as a management console for service level response time and availability
    • EM SOA Management Pack as a management console for monitoring, tracing and change managing SOA
  • Maintenance:
    • BEA AquaLogic Services Manager

Kurian discussed the implications of this product strategy on Oracle Applications customers: much of this will be transparent to Oracle Applications, since many of these products form the framework on which the applications are built, but are isolated so that customizations don’t touch them. For those changes that will impact the applications, they’ll be introduced gradually. Of course, some Oracle Apps are already certified with BEA products that are now designated as strategic Oracle products.

Oracle has also simplified their middleware pricing and packaging, with products structured into 12 suites:

Oracle Middleware Suites

He summed up with their key messages:

  • They have a clear, well-defined, integrated product strategy
  • They are protecting and enhancing existing customer investments
  • They are broadening Oracle and BEA investment in middleware
  • There is a broad range of choice for customer

The entire briefing will be available soon for replay on Oracle’s website if you’re interested in seeing the full hour and 45 minutes. There’s more information about the middleware products here, and you can sign up to attend an Oracle BEA welcome event in your city.

Tagged ,

Service-enable your CICS apps with Metastorm Integration Manager

To finish up my trilogy of posts on legacy integration, I had a look at the Metastorm Integration Manager (MIM), which takes a very different approach from that of OpenSpan. This is based on a look at the product that I did a couple of months ago, and now that Metastorm’s back in the news with a planned IPO, it seemed like the right time.

A lot of what’s in MIM is rooted in the CommerceQuest acquisition of a few years back. In a nutshell, it leverages IBM WebSphere MQ (what we old timers refer to as “MQSeries”) to provide a process-centric, services-oriented ESB-style architecture for integrating systems, both for batch/file transfer and real-time integration, on multiple platforms.

MIM for CICS architectureLike OpenSpan, the idea is to create web services interfaces or non-SOAP APIs around legacy applications, but instead of wrapping the user interface and running on the client, MIM wraps the apps on the server/host side and stores the resultant services in a registry. If you have CICS applications, MIM for CICS runs natively in the CICS environment and service-enables those apps, as well as allowing access to DB2 databases, VSAM and other application types. The real focus is to allow the creation of web services for custom legacy systems; packaged enterprise applications (e.g., SAP) already have their own web services interface or there’s a well-developed market of vendors already providing them.

Although Metastorm’s BPM has some native integration capability, MIM is there to go beyond the usual email, web services and database integration, especially for mainframe integration. Metastorm BPM can call the message-driven micro-flows or web services created by MIM in order to invoke functionality on the legacy systems and return the results to the BPM process.

I saw a demo of how to create a service to access a VSAM data set, which took no more than 5 minutes: through the MIM Eclipse-based IDE, you access CICS registry, create a new VSAM service, import the record definition from the COBOL copybook for the particular VSAM file, and optionally create metadata definitions to rename ugly field names. Saving the definition generates the WSDL and makes it immediately available, with standard methods for VSAM access created by default.

They also showed how to create a service orchestration process flow — an orchestrated set of service calls that could call any of the services in the MIM registry, including invoking batch jobs and managing FTP. With MIM for CICS, everything in a micro-flow is tracked through its auditing subsystem in CICS, even if it calls services that are not in CICS; the process auditing is very detailed, allowing drilldowns into each step to show what was called when, and what data was passed.

Once created, service definitions can be deployed on any platform that MIM supports (Windows, Z-series, i-series, UNIX), and moved between platforms transparently.

Inbound FTP processWe spent a bit of time looking at file transfer, which is still a big part of the integration market and isn’t addressed by messaging. MIM provides a way to control the file transfer in an auditable way, using MQ as the backbone and breaking the file into messages. This actually outperforms FTP, allows for many-to-many transfers more effectively due to the inherent overhead (chattiness) in each FTP transfer, and allows for file-to-message transfers and vice versa, e.g., file creation from message driven by SQL statement.

A directory monitor watches for inbound files and triggers actions based on file names, extensions and/or contents. A translator such as Mercator or TIBCO might be called to transform data, and the output written to multiple systems in different formats, e.g., XML, text, messages, SQL to database, files.

MIM for CICS can also drive 3270 green screens in order to extract data, using tools in the design environment to build screen navigation. This runs natively inside CICS, not on a client workstation, so is more efficient and secure than the usual screen-scraping applications.

In addition to all this, MIM can invoke any program on any platform that it supports, feed information to stdin, and capture output from stdout and stderr in the MIM auditing subsystem.

Exception from MIM in BPM - select next MIM step for reinjectionOn its own, this is a pretty powerful set of integration tools for service-enabling legacy applications, both batch and real-time, but they’ve also integrated this into Metastorm BPM. Of course, any service that you define in MIM can be called from any system that can invoke a web service — which includes all BPM systems — but MIM can launch a Metastorm human-facing process for exception handling from within one of its service orchestration processes by passing a MIM exception to the BPM server. The BPM process can pass it back to MIM at a point in the process if that’s allowed, for example if the user corrects data that will allow the orchestration to proceed, and the BPM user may be given the option to select the step in the MIM process at which to reinject the process.

What happens in Metastorm BPM when it is invoked as an exception handler is not tracked in the MIM process auditor; instead, it captures the before and after of the data that’s passed to BPM, and this would need to be reconciled in some way with the analytics in BPM. This separation of processes — into those managed and audited by BPM and those managed and audited by MIM — is an area where some customers are likely to want more integration between the two products in the future. However, if you consider the services created by MIM as true black boxes from the BPM viewpoint, then there’s nothing wrong with separation at this level. It’s my understanding that MIM calls BPM using a web service call, so really any system that can be called as a web service, including most other BPMS, could be called from MIM for exception handling instead.

OpenSpan: mashing up your legacy applications

Want to mashup your legacy applications? I recently had a chance for some background and a demo of OpenSpan, which is one of the tools that you can consider for bringing those legacy apps into the modern age of composite applications.

A big problem with the existing user environment is that it has multiple disparate applications — Windows, legacy, web, whatever — that operate as non-integrated functional silos. This requires re-keying of data between applications, or copy and paste if the user is particularly sophisticated. I see this all the time with my clients, and this is one of the areas that I’m constantly working with them to find improvements through reducing double keying.

In OpenSpan Studio, the visual design environment, you add a Windows (including terminal emulator or even DOS window) or web application that you want to integrate, then use the interrogation tool to individually interrogate each individual Windows object (e.g., button) or web page object (e.g., text box, hyperlink) to automatically create interfaces to those objects: a very sophisticated form of screen-scraping, if you will. However, you can also capture the events that occur with those objects, such as a button being clicked, and cause that to invoke actions or transfer data to other objects in other applications. Even bookmarks in MS-Word documents show up as entry/access points in the Studio environment.

OpenSpan: Calculater/Google exampleIn a couple of minutes, they built and executed a simple example using the Windows calculator and the Google home page: whenever you hit the M+ button in Calculator, it transferred the contents of the calculator to Google and execute a search on it. This is more than the simple pushing of buttons that you typically find in old-style screen-scraping however; it actually hooks the message queue of the application to allow it to intercept any UI event, which means that other events in other applications can be triggered based on any detected event in the interrogated application: effectively allowing you to extend the functionality of an existing application without changing it.

A more complex example showed interrogating the FedEx website rate to bring results back to Excel, or to bring them back and compare with UPS rates in a custom UI form that was built right in the Studio environment as well. You don’t have to build a UI in their environment: you can use Visual Studio or some other application builder instead, or build .Net controls in another environment and consume them in the OpenSpan Studio (which is a .Net environment).

OpenSpan: FedEx vs UPS rates UIAs you would expect from an integration environment, it can also introspect and integrate any web service based on the WSDL, but it can also encapsulate any solution that you create within OpenSpan and expose it as a service, albeit running on the local desktop: a very cool way to service-enable legacy applications. That means that you can make “web” service wrappers around green-screen or legacy Windows applications, exposing them through a SOAP interface, allowing them to be called from any development/mashup environment.

The integrations and applications defined in Studio are saved to an XML file, which is consumed by the lightweight runtime environment, OpenSpan Integrator; it can launch any applications as required or on startup, and manage the integration between them (which was created in Studio). You can use this to do single sign-on — although not in as secure a fashion as dedicated SSO applications — and can even call services between native desktop applications and virtual environments (e.g., a client service within Citrix). Although the Integrator needs to be running in order to access the integrations via SOAP calls, it can run completely in stealth mode, allowing other applications to call it as if it were a true web service.

You can also integrate databases, which allows you to make database calls based on what’s happening on the screen in order to create analytics that never existed before. As with all other aspects of the integration, these are based only on events that happen in the user interface, but that still has the potential to give you a lot more than what you might have now in your legacy applications.

Everything old is new again

Back in the old days (by this, I mean the 1990’s), when we wanted to integrate BPM with a legacy mainframe system, it was messy. In the worst cases, we wrote explicit screen-scraping code to interact with green screens; sometimes we were lucky enough to be able to hook a message queue or interact directly with the underlying mainframe database. Much of the development was tedious and time-consuming, as well as requiring a lot of manual maintenance when anything changed on the legacy side: sometimes I used to think that the mainframe developers intentionally changed things just to mess up our code. Don’t get me wrong, I’m all for keeping the mainframes in there as super-charged application and database servers, but don’t let the users anywhere near them.

These days, there’s a number of tools around to make integration with legacy mainframe systems easier, and although I don’t write code any more, I have a passing interest since most of my customers are financial services organizations that still have a lot of that legacy stuff lying around.

Strangely enough, the impetus for finally writing about the legacy integration tools that I’ve looked at came because of a conversation that I had recently with Sandra Wade, a senior director of product marketing at Software AG, even though we didn’t talk much about their product’s technical capabilities and I didn’t get a demo. Their announcement back in March was a repackaging of mostly existing applications into their Application Modernization Suite, which has three basic flavors:

  • The web edition is webMethods ApplinX, which allows you to web-enable green-screen applications.
  • The SQL edition uses the webMethods ConnecX adapters to provide unified, SQL-based access across heterogeneous data sources, including non-relational sources.
  • The SOA edition bundles ApplinX, webMethods EntireX, webMethods ESB and CentraSite to provide everything required to service-enable legacy applications, including governance.

Although I saw some of the underlying applications when I attended IntegrationWorld last November, I tend to focus more on briefings and sessions when I’m at a conference, so don’t have a really good feeling for the functionality of ApplinX and EntireX, and how they help to web- and service-enable mainframe applications.

I was going to include all three vendors in a single post, but will follow this one with separate posts about OpenSpan and Metastorm Integration Manager so that it doesn’t get too unwieldy.

TUCON: Using BPM to Prioritize Service Creation

Immediately after the Spotfire-BPM session, I was up to talk about using BPM to drive top-down service discovery and definition. I would have posted my slides right away, but one of the audience members pointed out that the arrows in the two diagrams should be bidirectional (I begged forgiveness on the grounds that I’m an engineer, not a graphic artist), so I fixed that up before posting to Slideshare:

My notes that I jotted down before the presentation included the following:

  • SOA should be business focused (even owned by the business): a top-down approach to service definition provides better alignment of services with business needs.
  • The key is to create business-granular services corresponding to business functions: a business abstraction of SOA. This requires business-IT collaboration.
  • Build thin applications/processes and fat services to enable agile business processes. Fat services may have multiple operations for different requirements, e.g., retrieving/updating just the customer name versus the full customer record in an underlying system.
  • Shared business semantics are key to identifying reusable business services: ensure that business analysts creating the process models are using the same terminology.
  • Seek services that have the greatest business value.
  • Use cases can be used to identify candidates for services, as can boundary crossings activity diagrams.
  • Process decomposition can help identify reusable services, but it’s not possible to decompose and reengineer every process: look for ineffective processes with high strategic value as targets for decomposition.
  • Build the SOA roadmap based on business value.
  • SOA isn’t (just) about creating services, it’s about building business processes and applications from services.
  • Services should be loosely-coupled and location-independent.

There were some interesting questions arising from this, one being when to put service orchestration in the services layer (i.e., have one service call another) and when to put it in the process layer (i.e., have a process call the services). I see two facets to this: is this a business-level service, and do you want transparency into the service orchestration from the process level? If it’s not a business-level service, then you don’t want business analysts having to learn enough about it to use it in a process. You can still do orchestration of technical services into a business service using BPM, but do that as a subprocess, then expose the subprocess to the business analyst; or push that down to the service level. If you’re orchestration business-level services into coarser business-level services, then the decision whether to do this at the service or process level is about transparency: do you want the service orchestration to be visible at the process level for monitoring and process tracing?

This was the first time that I’ve given this presentation, but it was so easy because it came directly out of my experiences. Regardless, it’s good to have that behind me so that I can focus on the afternoon sessions.

TUCON: Merck’s SAP Integration Strategy

Daniel Freed of Merck discussed their SAP implementation, and how their integration strategy uses TIBCO to integrate with non-SAP systems. As with Connie Moore’s presentation this morning, the room was packed (I’m sitting on the floor and others standing around the perimeter of the room), and I have to believe that TIBCO completely underestimated attendees’ interest in BPM since we’re in a room that is half the size (or less) that for some of the other streams. Of course, this presentation is really about application integration rather than BPM…

They have four main integration scenarios:

  • Master data replication (since each system expects to maintain its own data, but SAP is typically the true master data source), both event-driven publish-subscribe and batch point-to-point.
  • Cross-system business process, using event-driven publish-subscribe and event-driven point-to-point.
  • Analytical extraction/consolidation with batch point-to-point from operational systems to the data warehouse.
  • Business to business, with event-driven point-to-point as well as event-driven publish-subscribe and batch point-to-point.

They have some basic principles for integration:

  • Architect for loosely coupled connectivity, in order to increase flexibility and improve BPM; the key implication is that they needed to move from point-to point integrations to hub-and-spoke architecture, publish from the source to all targets rather than chaining from one system to another, and use canonical data models.
  • Leverage industry standards and best practices
  • Build and use shared services
  • Architect for "real-time business" first
  • Proactively engage the business in considering new opportunities enabled by new integration capabilities
  • Architect to insulate Merck from external complexity
  • Design for end-to-end monitoring
  • Leverage integration technology to minimize application remediation (i.e., changes to SAP) required to support integration requirements

SAP, of course, isn’t just one monolithic system: Merck is using multiple SAP components (ECC, GTS, SCM, etc.) that have out-of-the-box integration provided by SAP through Process Integrator (PI), and Merck doesn’t plan to switch out PI for TIBCO. Instead, PI bridges to TIBCO’s bus, then all other applications (CRM, payroll, etc.) connect to TIBCO.

Gowri Chelliah of HCL (the TIBCO partner involved in the project) then discussed some of the common services that they developed for the Merck project, including auditing, error handling, cross-referencing, monitoring, and B2B services. He covered the error handling, monitoring, cross-reference and B2B services in more detail, showing the specific components, adapters and technologies used for each.

Freed came back up to discuss their key success factors:

  • Organizational
    • Creation of shared services
    • Leverage global sourcing model
  • Strategy
    • Integration strategy updated for SAP
    • Buy-in from business on integration strategy
  • Program management
    • High visibility into the development process
  • Process
    • Comprehensive on-boarding process for quick ramp-up
    • Factory approach to integration — de-skill certain tasks and roles to leverage less experienced and/or offshore resources
    • Thorough and well-documented unit testing
    • Blogs and wiki for knowledge dissemination and sharing within the team, since it was spread over 5 cities
  • Governance
    • Architecture team responsible for consistency and reuse
  • Architecture
    • Defined integration patterns and criteria for applicability
    • Enhanced common services and frameworks
    • Architecture defined to support multiple versions of services and canonical data mocdels
  • Implementation
    • Development templates for integration patterns
    • Canonical data models designed early

In short, they’ve done a pretty massive integration project with SAP at the heart of their systems, and use TIBCO (and its bridge to SAP’s PI) to move towards a primarily event-driven publish-subscribe integration with all other systems.

TUCON: Architect’s Guide to SOA and BPM

I enjoyed Paul Brown’s seminar in Toronto a few weeks back, so I attended his session today on planning and architecture for SOA and BPM: how to define the services that we need and rationalize our data architecture in the face of managing end-to-end processes that span functional silos? Although many organizations have systems within those functional silos, the lines of communication — both person-to-person and system-to-system — always cross those silos in any real business process.

A lot of new skills are required in order to adopt SOA and BPM across the enterprise, from high-level executive support to a worker-level understanding of how this changes their day-to-day work. To make all of this work, there needs to be a total architecture perspective, including business processes, people, information and systems all coalescing around a common purpose. Business needs to re-engage with IT — in many organizations, they’ve been scared away for a long time — in order to get that business-IT collaboration happening.

Brown covered some of the same ground about separating out services, processes and presentation on as he did in the seminar, which I won’t repeat here but recommend that you check out the link above for more details.

He went on to discuss the TIBCO BPM.SOA execution model. First, develop the execution strategy for the entire program:

  • Develop vision and program roadmap
  • Define and implement organization and governance
  • Define and implement technical infrastructure and standards

Then, move on to solutions and operations for each project:

  • Analyze process and develop project roadmap
  • Design, build and deploy business process
  • Operate the business

This last point highlights the importance of setting and measuring goals for the project; you don’t know whether your project was successful until it’s been in operation a while and some measurements have been taken.

He had some pointers for how to get started with BPM and SOA:

  • Focus on business processes first: they’re the source of business value, and the glue that binds the people and systems together.
  • Separate service access mediation (access control, security, routing, distribution) from services.
  • Acknowledge different types of processes, both unmanaged and managed/orchestrated.
  • Separate processes and presentation.
  • Embrace total architecture with a cross-functional architecture team

He finished up with some case studies of organizations that have taken an architectural approach to rolling out SOA and BPM, and how this has made IT departments much more responsive to new business requirements. Findings by one organization included that they wanted to have more IT involvement in business processes in order to better align the business processes with the underlying services. For services that will be used across multiple systems, it’s critical to have an enterprise architecture group review these for reusability.

His final summary: keep the business process focus as the source of business process; BPM and SOA provide opportunities for improving business process; and the major challenges are organizational, not technical.

Tagged

Architecture & Process: Robert Pillar

The first breakout session of the day was on connecting BPM, SOA and EA for enterprise transformation, with Robert Pillar of Microsoft. He’s talking about how compliance is the key driver to the coalition of BPM, SOA and EA, but that the coalition starts with holistic collaboration. There are barriers to this:

  • Organizational barriers: IT organizations and silos between EA, SOA and BPM groups
  • Cultural barriers: lack of understanding the business value, lack of understanding the concepts, and old-style mentality
  • Political barriers: resistance to change
  • Collaboration barriers: resistance to meetings and collaboration

Risks and benefits must be measured.

At this point, someone in the audience spoke up and said "we understand all this, can you just skip ahead to any solutions to these issues that you have to present?" Incredibly rude, and really put the speaker on the spot, but he had a point.

He had a summary slide on why to choose SOA:

  • It offers a focus on business processes and goals: supports customer centric view of the business, allows design of solutions that keep requirement changes (agility) in mind
  • It offers an iterative and incremental approach following EA and BPM initiatives: make change happen over time, allow employees learn about the concept of services
  • It offers a means to reap the benefits of existing investments on technology: reuse IT resources, focus on business problems without being entangled in the technology

He sees EA and BPM as leading us to SOA, which is a valid point: if you do EA and BPM, you’ll definitely start to do SOA. However, I see many organizations starting with SOA in the absence of either EA or BPM.

Architecture & Process: Woody Woods

There’s one huge problem with this conference: too many interesting sessions going on simultaneously, so I’m sure that I’m missing something good no matter which I pick.

I finished the morning breakout sessions with Woody Woods of SI International discussing transitioning enterprise architectures to service-oriented architectures. He started out defining SOA, using the RUP definition: a conceptual description of the structure of a system in terms of its components and the services that they provide without regard for the underlying implementation of the components, services and connections between components). There are a number of reasons for implementing SOA, starting with the trend towards object oriented analysis and design, and including the loosely coupled nature that allows for easy interfaces between systems and between enterprises. Services are defined by two main standards (in the US, anyway): NCOW-RM, the DoD standard, and the OASIS reference model for SOA.

There are a number of steps in defining operational activities

  • Establish vision and mission
  • Determine enterprise boundaries
  • Identify enterprise use cases
  • Detail enterprise use cases to create an activity diagram and sequence diagram
  • Develop logical data model

The process for developing a service model, then, the following steps are taken (using RUP terminology):

  1. Identify the roles in a process.
  2. Identify the objects in a process, starting with triggers and results, and refining to include all objects, the initial actions and a complete action analysis, potentially creating a sequence diagram. Other types of process models could be used here instead, such as BPMN, although he didn’t mention that; they’re using Rational Rose so his talk is focused on RUP models.
  3. Identify boundary crossings, since every time an object crosses a boundary, it’s a potential service. By "boundary", he means the boundaries between roles, that is, the lanes on a swimlane diagram; note that some boundary crossings can be ignored as artifacts of a two-dimensional modeling process, e.g., where an activity in lane 1 links to an activity in lane 3, the fact that lane 2 is in between them is irrelevant, and the boundary crossing is actually between lane 1 and 3.
  4. Identify potential services at each boundary crossing, which implies encapsulation of the functionality of that service within a role; the flip side of that is that it also implies a lack of visibility between the roles, although that’s inherent in object orientation. Each boundary crossing doesn’t necessarily form its own unique services, however; multiple boundary crossings may be combined into services (e.g., two different roles requesting information from a third role would use the same service, not two different services). In this sense, a service is not necessarily an automated or system service; it could be a business service based on a manual process.
  5. Identify interfaces. Once the potential services have been defined, those interfaces that occur between systems represent system interfaces, which can in turn be put into code. At this point, data interfaces can be defined between the two systems that specify the properties of the service.

In this context, he’s considering the RUP models to be the "enterprise architecture" that is being transitioned to a SOA, but this does provide a good methodology for working from a business process to the set of services that need to be developed in order to effectively implement the processes. I’ll be speaking on a similar topic — driving service definitions from business processes — next week at TUCON, and it was interesting to see how Woods is doing this using the RUP models.

Tagged