Photo: Industrial backdrop by Pilarts  Dreamstime Stock Photos & Stock Free Images

Photo: Industrial backdrop by Pilarts Dreamstime Stock Photos & Stock Free Images

I’d like to propose a best practice for rolling out new features in a Service Oriented Architecture (SOA).

Traditionally, when we roll out a major new feature, we often end up causing a breaking change to the service. We’re then faced with a choice: (a) Force all our consumers to upgrade to the new version, and making all our consumers hate us, or (b) continue to support the old version of the service as well as the new, making only our own teams hate us. Suck it up, plan (b) is the better option, but try telling that to the guy having to patch fixes in three concurrent versions of a service.

Now, there are patterns that can help here (more on that another day), but they all still mean more work for everyone.

Also, when we first roll out a feature is exactly the moment we understand it least. We’ve got absolutely no idea how people will use it, nor whether it will even turn out to be useful. By baking the feature into a new major version of the service, we’re taking all our options away. The feature will be hard to remove if we decide it isn’t useful, and if we want to change how it works, we’re back into a major version upgrade again.

To my mind, good engineering is largely about keeping your options open. It’d be nice if we can try a new feature with a subset of consumers first, iterating quickly with just that subset, gradually adding more consumers as we get more confident.

Enter the Feature Flags pattern. Feature flags allow you to turn features on an off at a moment’s notice. At its most basic, a feature flag just turns a feature on or off for everyone at once, but the idea is often extended to allow turning on features for specific users, or collections of users. This allows you to roll out a new feature to consumers gradually, over an extended period.

So, here’s the proposal:

  • Allow consumers to pass a set of feature flags dictating which features they’d like enabled in the service.
  • Whenever you build a major new feature that would otherwise cause a breaking change, only enable it when the feature flag is passed.
  • If appropriate to your environment, control access to feature flags like you would to any other resource – e.g. you might want to restrict access in the early days to just a single consumer, making it easier to iterate.
  • Once we’re comfortable with a feature, it becomes publicly available – i.e. anyone can toggle the flag.
  • Every so often (e.g. once every couple of years), create a new major version of the service, refactoring it to include popular, battle tested features by default. Also, take this as an opportunity to clean out the cupboard and abandon any features that aren’t well used.

What do you think? Comments and thoughts very welcome…

 

Please remember to Rate and Like this post.  If you can, please leave a Comment.

Jeff Bezos Photo by John Keatley, Seattle's leading photographer keatleyphoto.com

Jeff Bezos
Photo by John Keatley, Seattle’s leading photographer keatleyphoto.com

Every time I hear this story, it makes me smile. From Kim Lane over at API Evangelist:

[…] one day Jeff Bezos issued a mandate, sometime back around 2002 (give or take a year):

  • All teams will henceforth expose their data and functionality through service interfaces.
  • Teams must communicate with each other through these interfaces.
  • There will be no other form of inter-process communication allowed: no direct linking, no direct reads of another team’s data store, no shared-memory model, no back-doors whatsoever. The only communication allowed is via service interface calls over the network.
  • It doesn’t matter what technology they use.
  • All service interfaces, without exception, must be designed from the ground up to be externalizable. That is to say, the team must plan and design to be able to expose the interface to developers in the outside world. No exceptions.

The mandate closed with:

Anyone who doesn’t do this will be fired. Thank you; have a nice day!

Assuming for the moment that this is true, the thing that makes me smile here isn’t the closing rhetoric. What Jeff described here is pretty well everything you need to know about successful SOA.

Look at the wording again. “All teams”. He didn’t say “all systems” or “all services”. Technology isn’t [the most] important. People are.

By focussing on teams rather than technology, Jeff ensured that Amazon’s embryonic SOA was business aligned. One, simple decision was all it took. Well, that and ten years of concerted effort of one of the brightest engineering teams on the planet.

Wow! SyncIpswich’s second meetup and around 80 people crammed into the Eastern Enterprise Hub in the James Hehir Building at University Campus Suffolk. Many of the attendees were working for local behemoths like BT but there were also a good mix of bootstrappers, Start Ups and tech entrepreneurs with all kinds of backgrounds (even spotted a Chartered Accountant).

Organisers Carl Farmer (@CarlFarmer), supported by Anders Fisher (@atleastimtrying) and others have done a great job with SyncIpswich, which we are proud to sponsor. The focus of this meetup was on building software quickly with good practices as well as a nice introduction to the Windows Azure Cloud.

Talk no 1. Continuous Delivery

The first presentation by Chris O’Dell from 7digital (@ChrisAnnOdell) described how Agile practices (CI, Kanban, etc) combined with their architectural evolution to SOA have reduced code to deploy times to half a day  at 7digital.  And, by the sound of it, makes their developers more productive by getting away from “DLL Hell” that used to be the bane of any Microsoft Windows developer’s life towards a loosely-coupled set of services and a public API.

7Digital Logo

Chris raised some really interesting points around developing small fine-grained service components – not being that familiar with .Net myself this seemed to be similar to what we are doing in the Java world with OSGi and Service Component Architecture. I do like the policy of developing new features on the trunk (no feature branches) but making good use of feature flags rather than old-fashioned branch & merge.

They are also using Git for the code version control and Chris showed the inversion of the classic Unit Test, Acceptance Test, QA triangle. Some in our own organisation are raising question marks about the usefulness of very granular unit tests so the approach taken by 7digital of increasing the number of Unit tests is interesting.

There were a lot of questions from the floor, I was particularly interested in how the small kanban teams (about 6 or 7 members in 5 or 6 teams I think) interact when there are common services. This is a key problem that us SOA architects need to get right to get the best value on services. Feature Flags is something that we’ve also thought about in the context of simplifying application testing by, for example, switching off authentication for functional testing.

It’s great to see a company like 7digital competing successfully with iTunes and Amazon in the digital music space. I’ll be checking out their API (and their JLS back catalogue !) in more detail this weekend.

Richard Astbury AzureTalk no 2. Starting out in Azure

The second talk of the night was by Richard Astbury (@richorama) of Two10 Degrees ( @two10degrees). Richard gave a nice introduction to Cloud computing and in particular using Microsoft Windows Azure, showing a picture of a MS data centre under construction, which was something I haven’t ever seen before. I think it really brought home the sheer scale and commodity nature of the Cloud and these facilities being full of containers of kit that is just thrown away or recycled when it stops working.

Building a website on Windows Azure from scratch can use a few main pre-canned routes like the obvious “Website”, “Virtual Machine” and “Cloud Service”.

And it now includes a “Mobile Service” which is of particular interest to me. Sadly, I didn’t have time to chat to Richard about this but it’s on my “To Do” list to get a Hello Smartie mobile service up and running. In fairness, Richard did do two masterful demos for Website, including a node.js based site which he even launched from his home computer (a Raspberry Pi no less). As Carl tweeted:

Deploying to Azure from a remote RaspberryPi at home… Impressive stuff from @richorama !

— SyncIpswich (@SyncIpswich) April 25, 2013

Well done to the people of Ipswich for turning out and drinking all the sponsored free beer!
SyncIpswich will run and run.

Please Rate and Like this blog.  If you can, please leave a Comment.

What is the OTA?

The OpenTravel Alliance provides a community where companies in the electronic distribution supply chain work together to create an accepted structure for electronic messages, enabling suppliers and distributors to speak the same interoperability language, trading partner to trading partner.

What does the OTA look like?

A set of XML schemas (XSDs) that define travel-related entities organised into common and domain-specific types. Domains include Air, Rail, Hotel, Vehicle, Insurance, Cruise. AirPriceRS example below (from XMLSpy):

AirPriceRS

OTA Pros?

  • Off-the-shelf extensible set of components developed by the travel industry that can save valuable time and effort when designing your XML message structures.
  • Provides a common vocabulary.
  • Helps towards developing a canonical schema/data model .
  • The OTA is updated twice a year, and all schemas are backwardly compatible.
  • Maximum flexibility – all elements and attributes are optional which allows companies to choose which parts they want to use.
  • Enables companies to derive maximum value from legacy systems by wrapping them in a service façade.

OTA Cons?

  • Provider systems may only support subsets of the OTA.
  • Companies often have their own internal vocabulary for OTA entities – mapping from one to the other can be confusing.
  • Bespoke schemas will still be required. However, XML namespaces allow OTA and bespoke vocabularies to be used side-by-side.
  • If you make any custom extensions to the OTA, these will be lost when moving to a new OTA version.
  • The flexibility of OTA entities can sometimes result in unwieldy messages.

Why use the OTA?

The choice of whether to use the OTA or a bespoke solution will ultimately depend on how applicable the OTA is for a specific travel sector and the take-up of OTA by provider systems in that sector. Smart421’s experience of working with Virgin Atlantic to develop their SOA offering is that using the OTA is beneficial.

 

Please Rate and Like this blog.  If you can, please leave a Comment.

Neil Miles (second from left) with Jennifer Davidson of Gartner events

Neil Miles (second from left) with Jennifer Davidson and Heenal Taylor of Gartner events

Now that we’re are no longer Gartner “virgins”, this post covers Smart421′s second only event with Gartner, their Application Architecture, Development and Integration Summit in London on 16-17 June (Twitter hashtag #gartneraadi).

We learned a lot about working with Gartner at our first one, the Enterprise Architecture Summit last month (see previous post).

For us, Getting Gartnered is an unfolding story and not self-evident; analyst relations is one part of the equation, and working with event audiences another. We don’t see this as a “one night stand” – it’s more like “going steady”.

We’re getting to know the way that Gartner does things and learning a lot of lessons in the hope that we can get closer. If it is to succeed and develop in to a long term relationship, then clearly 50/50 will never cut it – so it has to be 100% from both sides.

Joseph Spearpreparing to go on camera

Joseph Spear, marketing manager at Smart421, preparing to go on camera in a TV interview to explain Smart421's growing relationship with Gartner

Smart421 is investing in analyst relations because we recognise the power of the Gartner brand. Their analysts are well briefed people who are focused on providing their research clients with insight far beyond what’s available elsewhere. We have seen this in action at our parent company, KCOM Group, which is itself a research client. We also recognise the significance to the IT industry of their analysts’ reports and various presentation methodologies (Magic Quadrant, Hype Cycle, etc). But the rubber hits the road for us where Smart421′s customers are using Gartner research notes and consulting, etc. to help guide their strategic decisions.

We want our existing Customers to see us mentioned in research that matters to them and we think that our future customers will also reasonably expect this. We realise that we have no exposure today in Gartner research so our senior management team have agreed to act on this. Robin Meehan, Smart421′s chief technology officer, is leading this effort. Although it’s early days, I’m encouragd by all that Robin has already achieved with his three separate Vendor Briefings on Enterprise Architecture, on Cloud Computing and on SOA, in advance of the events as well as holding Analyst 1:1 sessions during the events.

In terms of events, our objective has always been to provide delegates with an exceptional experience. Whether through scheduled meetings and spontaneous encounters, Gartner summits provide an opportunity to show something about Smart421′s brand values which are an important part of who we are, what we do and why we do it.

Smart421 answering questions from Maersk Line

Smart421 answering questions from Maersk Line

I think that most delegates to industry events expect to be button-holed by the event sponsors; it goes with the territory. Yet, whereas this has been a bit uncomfortable at some other events we’ve done in the past, we’re finding that Gartner delegates are more ready to open substantive conversations. They are intelligent people who think strategically. They are more open to explain their challenges and are more prepared to listen for possible solutions.
 
This is refreshing and frankly a little unexpected.
 
Alongside the serious business of conference sessions and on-stand discussions, we really enjoyed laying on a bit of corporate hospitality for the evening Networking Reception. These receptions are deliberately informal and give a chance for each sponsor to select a theme which the Gartner events team reviews and approves. Each theme is designed to be as unique and as entertaining as possible for everyone to enjoy at the end of an intensive day of conference sessions. There were some great themes…
Jack Sparrow with Charlotte, a Smart421 Customer

Jack Sparrow with Charlotte, a Smart421 Customer

Smart421 selected a topical Pirates of The Caribbean theme (hot on the heels of the latest release) and invited the UK’s leading lookalikes to come along and help us. Simon Newton as Captain Jack Sparrow (Johnny Depp) and Sarah Key as Elizabeth Swann (Keira Knightley) delighted delegates by handing out champagne and chocolate, and many had their picture taken with them. We ran prize draws every 20 minutes and winners were drawn out by our MD Neil Miles, and by Keira and Johnny.

I think that the cinema chain Cineworld will be getting a lot of extra business over the next two weeks with all those lucky winners cashing in their cinema vouchers, maybe to watch Disney’s Pirates of the Caribbean: On Stranger Tides if they’re quick enough.

Jack Sparrow awards Cineworld tickets to Rita, one of our lucky prize draw winners

Jack Sparrow awards Cineworld tickets to Rita, one of our lucky prize draw winners

 Perhaps delegates visiting our stand didn’t find the Fountain of Youth but they certainly all enjoyed a glass of Taittinger champagne with us. 

No doubt Robin Meehan will blog about his findings from the conference sessions, so I’m off to re-count our hoard of pirate gold i.e. the belgian chocolate money we splashed everywhere to add some bling to our stand. 
 
Fans of the movies will know there are only 9 Pieces of Eight. At last count, we had 4,800.   Well, we didn’t want to run out – did we !
 

“Take all you can, give nothing back” crowed Jack Sparrow.

Smart421 stand and hospitality
Champagne & chocolate : enough to go round… several times.

All photos by Jim Templeton-Cross.

freedigitalphotos.net - graur razvan ionutAt long last we’re now outside the closed KCOM financial reporting period, and therefore Smart421′s 2010/11 financial results are out in the public domain…and so I can crow about them :) . There’s some brief analysis of our parent company’s results here, and the phrase used about the Smart421 results is “Managed services outfit Smart421 enjoyed a year of particularly impressive growth in FY11, with turnover rising 42 per cent to £23m“.

Obviously we’ve known about this rate of growth internally for pretty much the whole financial year, and it’s been frustrating to have to keep it under wraps. For example in recent briefings to Gartner analysts I’ve had to skirt around the actual numbers which I felt was selling ourselves a bit short really. It’s been an absolutely stellar year – and I thought I’d just take a breath to pick out three of the many things that made this happen:

  • Amazon Web Services partnership – we’ve been waiting for the cloud computing market to mature to the point that we felt we could credibly offer the benefits to our enterprise customers, and in Q4 2010 decided the time was right and signed up with AWS in the UK as AWS Solution Providers. Since then we’ve closed customer deals in Q1 2011 and have now won our first piece of repeat business in this area – so the strategy is bearing fruit.
  • SOA v2 – there’s been a lot of interest in SOA this year, and a key win for us in this area is our relationship with Virgin Atlantic. My view is that many enterprises made their first foray into SOA a few years ago, built some services, and often not seen the ROI and reuse that they expected. This attached a rather bad smell to SOA for a while, but the harsh reality is that these enterprises still have integration needs – they don’t and won’t go away. And so what we’ve seen in the market is a resurgence of interest in more structured and strategic adoption of SOA.
  • Doing a good job – It’s a truism that’s it’s easier to sell to an existing customer than find a new one – but the fact is that a significant part of our growth has come from repeat business. If we weren’t delivering what our existing customers wanted (or maybe it’s better to say, what they needed!) with the highest quality, then this wouldn’t happen. In the end, this all comes back to having the right people on the bus, which we clearly have. And they’ve worked very hard to make this happen.

Here’s to the next financial year!

Sometimes you have a requirement to generate your C# class contracts from an existing WSDL document so they can be used by consumers. It might be that the customer simply wants to keep the existing service contract and in this case only the implementation needs to be developed.

The way to do this in .NET is to use the SVCUTIL.exe command-line tool that you get when you install Visual Studio. Most people will know about this tool for generating C# client proxy classes to handle the service invocations and marshalling of simple and complex data contracts from the client side. It can also handle generation of the C# service contracts – although not pretty and will need to be cleaned up afterwards.

Just to note, when I say C# above, the tool also supports VB.NET, you just need to pass in the /l:VB switch. It defaults to C#.

So to generate your concreate service contract from an existing WSDL you can use the following syntax:

svcutil /dconly myservice.wsdl

If you’re lucky you’ll get a single myservice.cs source code file that contains everything i.e. all data contracts and the service contracts that you need in order to implement your service. You’ll need to clean this up though as the tool makes a mess of creating these contracts. You’ll also get a .XML file that can be added to your web.config or app.config file as it specifies the address, bindings and contracts for your service. It takes the address from the WSDL document and applies it to the config file.

If you’re not so lucky, you might get an error similar to the following:

D:\Workspaces\Simon\Project_Foo\Trunk\Foo\Source\Artefacts\WSDL>svcutil myservice.wsdl
Microsoft (R) Service Model Metadata Tool
[Microsoft (R) Windows (R) Communication Foundation, Version 4.0.30319.1]
Copyright (c) Microsoft Corporation. All rights reserved.

Error: Cannot import wsdl:portType
Detail: An exception was thrown while running a WSDL import extension: System.ServiceModel.Description.DataContractSerializerMessageContractImporter
Error: Schema with target namespace ‘http://schemas.foo/Services/Foo/2009′ could not be found.
XPath to Error Source: //wsdl:definitions[@targetNamespace='urn:com:foo:services:foo:function:2011']/wsdl:portType[@name='PortType']

Error: Cannot import wsdl:binding
Detail: There was an error importing a wsdl:portType that the wsdl:binding is dependent on.
XPath to wsdl:portType: //wsdl:definitions[@targetNamespace='urn:com:foo:services:function:feature:2011']/wsdl:portType[@name='PortType']
XPath to Error Source: //wsdl:definitions[@targetNamespace='urn:com:foo:services:function:feature:2011']/wsdl:binding[@name='EndpointBinding']

Error: Cannot import wsdl:port
Detail: There was an error importing a wsdl:binding that the wsdl:port is dependent on.
XPath to wsdl:binding: //wsdl:definitions[@targetNamespace='urn:com:foo:services:function:feature:2011']/wsdl:binding[@name='EndpointBinding']
XPath to Error Source: //wsdl:definitions[@targetNamespace='urn:com:foo:services:fucntion:feature:2011']/wsdl:service@name=’Service’]/wsdl:port@name=’EndpointPort’]

Generating files…
Warning: No code was generated.
If you were trying to generate a client, this could be because the metadata docu
ments did not contain any valid contracts or services
or because all contracts/services were discovered to exist in /reference assembl
ies. Verify that you passed all the metadata documents to the tool.

Warning: If you would like to generate data contracts from schemas make sure to
use the /dataContractOnly option.

Looking through the error, the first thing that comes to mind is it looks like the separate namespace being imported could not be found as per the following error message:

Schema with target namespace ‘http://schemas.foo/Services/Foo/2009′ could not be found

This might be the case if your WSDL document looks something like the following:

<wsdl:types>
<xs:schema>
<xs:import namespace=”http://schemas.foo.com/Services/Foo/2009&#8243; schemaLocation=”Context.xsd”/>
</xs:schema>
</wsdl:types>

You look at the above WSDL snippet and think, well Context.xsd is present in the same folder as the WSDL document to which I’m trying to generate a code contract, so why can’t SVCUTIL find it.

It can’t find it because it’s not looking for it. You have to supply SVCUTIL with all the dependent XSD files on the command-line with the name and location of the WSDL document file like the following, i.e.

SVCUTIL myservice.wsdl context.xsd

Once you execute that command, you’ll notice you’ll get a single C# file with the same name as the WSDL document (in this case myservice.cs) containing all the code required to implement the WSDL. This includes correctly decorated service contracts (interface) and the correctly decorated data contracts for use with WCF (Windows Communication Foundation). I admit it makes a mess of this but it’s a starting point and saves you a great deal of time especially if your data contracts are large and complex as often seen in SOA environments.

"Small opportunities are often the beginning of great enterprises" - Demosthenes

"Small opportunities are often the beginning of great enterprises" - Demosthenes

Did you know that of the 500 original companies of the original S&P 500 (Standard & Poors) in 1957, only 74 of those remained in 1997 – that is a staggering 85% reduction!

Why is this?

The capital markets in the world today encourages rapid and vast growth leading to greater revenues and wealth, meaning people are expecting companies to adapt and perform to the market conditions and are not too understanding when they under-perform over the long term. Of those companies that are no longer in the S&P 500 one of the key factors that they were unable to be keep up with the changing demands of the markets and been able to be agile in entering new high value markets. Whilst change can be slow, it is always powerful!

It is having this ability to adapt and change that helps companies today to survive and a great way to help your business achieve this agility is by adopting a SOA architecture. It can really help a business create an IT infrastructure that will support a truly dynamic enterprise.

SOA is all about defining services that align and support business process, and exposing these services so they can re-used easily. It also allows these services to change independently so only aspects of business processes that need to change (as the business adapts and changes) minimising the impact on the rest of the IT infrastructure and business.

The loose coupling gained from adopting a SOA also provides abstraction from underlying systems and applications. This allows greater flexibility on consuming and invoking the capability exposed through the SOA, whilst enabling the ability to  switch the underlying systems and platforms as and when this is required.

When you consider all of these benefits you can see the agility this provides your business.

SOA is nothing new and has been around for a number of years now (and in a number of different guises) but in our opinion it is now a widely accepted mainstream approach within IT architecture, which we are seeing with a number of our clients investing and driving forwards with SOA as they have realised (and are already reaping) the benefits that it brings and how that journey can be the beginning  of a great and dynamic future.

I am way out of date here, but I’ve just stumbled across an interview between Information Week and Amazon CTO Werner Vogels. The interview is from way back in 2008, but many of the things discussed are just as valid (and in some senses revolutionary) now as they were then.Touching on a number of interesting bits of information about Amazon’s architecture, the interview talks about how Amazon came to become the cloud computing ‘thought leader’ they are today.

Amazon have been doing SOA highly successfully for nearly a decade, and as demonstrated by their dominant position in internet retail (2009 revenues topping $24 billion and a market cap of over $70 billion at time of writing).

What particularly caught my eye about this article is how it aligns with my own views about what makes good SOA tick:

“It’s not just an architectural model, it’s also organizational. Each service has a team associated with it that takes the reliability of that service and is responsible for the innovation of that service. So if you’re the team that’s responsible for that Listmania widget, then it’s your task to innovate and make that one better.” 

To me, making SOA work is more about people and organisation structures than it is about technology. Build the right teams and the technology will come. Focus on the technology and your organisation will just hold you back.

From there, Werner goes on to talk about how they evolved the AWS cloud computing platform out of their own need for highly resilient distributed infrastructure, and of course how they exposed this too as services. To put this in perspective, this ‘spin off’ is projected to earn Amazon over half a billion dollars in 2010. Not bad for a by-product.

Read the article. Even 2 years late, it’s well worth 15 minutes of your time.

It’s been a while since Oracle’s spending spree – including Sun and BEA – something that i’m still in shock about.  To get some clarity on the SOA offerings from Oracle a colleague and I recently attended an Oracle partner day in Reading. As the day was ran by 2 presales guys we got an interesting incite into what they were picking out as the differentiators to the other main player IBM – some of their opinions are reflected below – all of which i take with a pinch of salt.

Fusion Middleware

Oracle Fusion Overview

After everybody nodded to the question “does everybody know what SOA is?” the instructors continued on to tell us about SOA for a couple of hours. Nevertheless there was an interesting slide in this period with the average project cost and staff size for SOA projects; Basically, the message was ‘too big’ and doomed and ‘too small’ and it’ll just fade away. Also, they noted that the audience and the questions asked were testament to how the market has matured: their presentations have moved more from ‘how it works’ to ‘how to roll it out and support it’.

One contradiction I noted was how often they talked about the importance of interoperability and the use of industry standards but at the same time were really playing up how well integrated the Oracle SOA Suite 11g is. Perhaps this itself isn’t a contradiction – it’s more the incongruity of vendors on the one hand sell you the standardisation but at the same time tut-tut and teeth-sucking at the idea of using open source in some instances.

From a product perspective the day was a really useful insight in to how the suite has evolved and into what’s new and exciting about Oracle SOA Suite 11g (r1 patchset 2 – the 3rd big release in a year). Here are some specific notes I made which may or may not make sense:

  • No prizes that the winner in the application server shoot out between Oracle App Server and WebLogic was… WLS. The current version of SOA Suite won’t support running on WebSphere or JBOSS AS but this is on the roadmap.
  • One important piece of consolidation with the release is that SOA Suite and Oracle Service Bus can now run on the same application server platform (previously in 10G you needed different versions/instances).
  • Aqualogic ESB is called Oracle Service Bus (OSB) and now fulfils the ESB function. The product formerly known as Oracle ESB is actually still part of the product set – but is called Mediator. There is clearly some overlap between the products but mediator should be used only for the basic routing and transformation tasks.
  • BPM Suite for 11g is the completely re-written Aqualogic BPM which is for business modelling, supplied as part of the Dev Suite and includes some coding ability and allowing closed loop development (BPM is not as powerful or feature rich as the BPA Suite and not intended as a competitive product). The BPA Suite is pure modelling.
  • BPA Suite is targeted at analysts and contains 3 licensed modules of the ARIS product from IDS Scheer. The message was clearly made that Oracle don’t feel it is their business to create business process design software. I think this was a poke at IBM.. who recently bought Lombardi. BPA is much cheaper then the pureplays, example he gave was Pega PRPC but delivers on the promise of being able to integrate this rather then run it is as a homogeneous blob.
  • List of what’s included in SOA suite: OSB, Adapters, B2B, BPEL, BAM, EM, WSM, Service Reg, JDeveloper, CEP. –maybe missed a couple – all running on top of WebLogic with AQ/JMS and JRockit
  • BPM, BPA Suite and Enterprise Repository (ER) are licensed separately, the later under the ‘governance suite’. The ER assists governance from an assets perspective and provides the repository to store all artefacts.
  • The process server now supports BPMN 2.0 as well as the existing BPEL. There is an aim to provde BPMN round-tripping
  • Oracle have invested a lot in the adapters – making them all JCA compliant again (BEA had focussed on making them fast and not standardised). Lots of them, and there are lot’s of partners providing even more (Attunity and iWay were mentioned)
  • Event Driven Architecture  aka Event Delivery Network is JMS based of course, thankfully on weblogic JMS and not Oracle AQ. Apparently, you can use another JMS provider if you want, there is a JMS bridge (though I’m not sure that is really the accurate answer to my question)
  • The B2B product is really just an endpoint and not B2B network provider software
  • Oracle business rules (OBR) is a basic product – again the distinction was drawn out between IBM buying ILOG JRules and the OBR. No desire to create BPMS software which they say can hide implicit process within complex business rule structures. However, they have added handling for the basics of decision tables. OBR is integrated into JDeveloper.
  • Oracle policy admin (OPA) provides a sophisticated tool for managing your internal policy related data, e.g. VAT.
  • Application Integration Architecture (AIA) are all about making the Oracle Applications harmonious with the SOA suite and providing reference and process integration packs (PIP) are about providing standard processes across these applications.. rather then developing your own ‘order to pay’. Another distinction was drawn to IBM – who “don’t do applications”. Although predominantly Oracle Applications currently, the architecture is intended to support any cross application integration (e.g. connectivity to SAP http://www.oracle.com/applications/aia-plm-to-sap-erp-data-sheet.pdf). A list of the currently released PIP is at http://www.oracle.com/us/products/applications/application-integration-architecture/054232.html
  • JDeveloper is the development tool and is very well integrated and includes Unit Test Framework in 10.1.3.

As I said before – if you have noticed the Oracle instructor references to IBM above – clearly the competition is fierce between the 2 application integration stacks. A couple of other points were made which I regurgitate for the reader to make up their own minds: IBM products aren’t well integrated like the Oracle suite now is, and rational are holding back BPMN development within the System Architect tool.

Follow

Get every new post delivered to your Inbox.

Join 821 other followers