A Real-World Experience using AIA Productivity Tools

One of the joys of working in product development, especially in my earlier customer success advocate role, is the satisfaction received when helping resolve customers needs with your products!

A few months back, a key telecom customer needed to describe the semantic Enterprise Business Object (EBO) structure in a hierarchical/indented model to a flat spreadsheet so that designers can perform application mapping for the Process Integration Packs (a.k.a. PIP, basically pre-packaged integration accelerators for specific business process flows). I pointed them to a not-well publicised (and highly underestimated tool) called the XSL Mapping Analyzer (a.k.a XMAN).

Below is an email from the customer describing how useful they found the tool, in fact just one of the utilities! Thanks to the OCS Team (Balaji S G and Kurt) and KT (Sungwoo Yu) for this valuable feedback!

Side note: XMAN is actually a set of utilities my team built to parse XSL and EBO XSDs into various formats for semantic analysis of attribute level mapping; including HTML, CSV, flattened CSV and XML. It’s real power is in providing tactical SOA governance if you are using AIA canonicals, as it can help flag functional interoperability issues across projects using the same EBO, thereby encouraging service reuse and providing the ROI on your SOA. To learn more about XMAN usage, see my earlier blog post and OOW 2009 session.

— Email below published verbatim with prior owner’s permission —

Hi Balaji,

I’m glad to share my experience with Rajesh’ blog

Specially, I use to visit and learn a best practices using aia from that popular blog.

I’d like to briefly introduce my situation.

I’m working at telecom Project aims to build next generation BSS/OSS for 35 mil subscribers utilized by Oracle RODOD(Siebel,BRM,OSM, OPH and etc) .

I’m in charge of Integration team.

As we try to fit OOTB PIPs with our business, we need to analysis OOTB PIPs and design extension of PIPs.

These days our team cooperation with OCS for Communication PIP extension design on AIA Technical Document Design.

Although we cannot totally understand what existing input/output message and mapping in complex process integrations, we have to provide explain how prebuilt aia integration build interoperability with Siebel, BRM.

Basically, we can refer PIP implementation documents. However, if we closely looked at message level input/output and mapping details for reviewing service detail communication with edge application. It had been challenge.

At that time, I concerned that below so that I requested the OCS guidance

For we describe edge ABM structure or complex EBMs on spreadsheet, how can we describe different level elements on spreadsheet automatically?

Why we need to describe on spreadsheet, most of edge application function designer is not familiar with complex related xsd and different level of structure specially ebo.

So, when designed for extension of pips, Edge application function designer is unable to consider EBO structure.

If AIA team share used each operation EBM by spreadsheet, they will be easy to approach understanding EBO

Do you have any idea for that?

1.       How to automatically convert message structure xsd to table. (It could be different structure distinguished by indentation)

2.       If we describe different level elements distinguish using XPath, How we automatically extract XPath of all nodes from EBM.

Thanks to OCS(Balaji, Kurt) helps

We can utilize AIA Development Tools such as XMAN, XSD Flatter and generated XMAN reports RV11.1.

Particularly, XSD Flatter is right to solve above two problems.

For instance, I’m going to explain how I can extract element tree on spreadsheet from SalesOrderEBM.xsd

source $AIA_INSTANCE/bin/aiaenv.sh.

cd $AIA_Installed Directory/DeveloperTools/XSDFlattener/bin/


xsd2csv.sh -inputSchemaURL $AIA_Metadata_Directory /AIAComponents/EnterpriseObjectLibrary/Industry/Communications/EBO/SalesOrder/V2/SalesOrderEBO.xsd -rootElement ProcessSalesOrderEBM

As converted, I’ve got a csv file with x-path, cardinality, annotation and element tree with display hierarchy using indentation, and then reformatted below.

Even, I can convert ABM of Siebel Integration Object Message as well.

xsd2csv.sh -inputSchemaURL $AIA_Metadata_Directory /AIAComponents/ApplicationObjectLibrary/Siebel/V1/schemas/SWIOrderIO.xsd -rootElement ListOfSWIOrderIO


In addition, I aware generated RV11.1 XMAN report already provided whole EBM csv information by support.oracle.com

Also I can generate csv report from all of EBM using eol2csv.

eol2csv.sh -inputDir $AIA_Metadata_Directory /AIAComponents/ApplicationObjectLibrary/Siebel/V1/schemas -outputDir ~/eoloutput/AIAComponents/ApplicationObjectLibrary/Siebel/V1/schemas




Role of Development Architect vs Solution Architect

There are a lot of “Architect” titles in the enterprise, mostly used interchangeably. However, there are differences between some of them; at least the Development Architect versus the Solution Architect.

Solution Architecture is a design blue print that satisfies a given enterprise problem and a solution architect needs to apply architectural principles to the solution to create that blue print. This is important because success of any architecture is dependent on its uptake.

That is the core difference between a Development Architect and a Solution Architect – a Development Architect CREATES the architecture and a Solution Architect APPLIES it to solve a problem. It takes a different mind-set and is not just some terminology issue. Having done this role; and working with other solution architects, I like to use this movie analogy…

  • Development Architect is like the movie equipment producer e.g. camera.
  • Solution is the end product — the movie itself.
  • Solution Architect is the Director knowing enough of both to make movies.

One cannot produce blockbuster movies with just technical knowledge of the equipment otherwise every movie technician would be winning Oscars for their directorial ventures. What is needed is a James Cameron who has a broad understanding of the solution – market, audience, story, screenplay, direction, background score, cinematography etc – as well as deep knowledge of the tools – 3D, film formats, sound formats, color coordination, special effects, sync-sound, foley sound effects etc. That is the role of a solution architect – someone who has the deep know-how as well as broader vision of creating an Avatar!

In enterprises, solution architects need to understand the architecture – applications, data models, middleware etc – and how to leverage them to satisfy the solution needs – working with stakeholders, identifying the correct need, negotiating scope etc.

The above does not imply in any way that any one type of architect is more important than another. Even Cameron had to wait more than a decade before the technology became mature enough for his vision, so both types of architects are crucial to the success of the solution – the analogy is just to highlight the differences.