Just uploaded the presentation I gave at the Seminar “Architecture and Governance”:
While doing some research on the web I came across a Service Component Architecture Diagram Generator. The script generates diagrams for applications based on the Service Component Architecture (SCA) model. This can be a great aid to understand the relations between components in large BPEL or SOA applications.
Download the tool here. The readme is over here. The script runs on Linux/Unix and has primarily been tested with Oracle Fusion Middleware 11g applications but should work with other BPEL or SOA frameworks.
In October 2011 Gartner published it’s Magic Quadrant for SOA Governance Technologies. Gartners sees the market for SOA governance technologies keeps changing, driven by more comprehensive requirements from end users. The most important change since their previous report in 2009:
Clients today prefer to buy SOA governance solutions that will serve their purpose throughout the whole SOA endeavor, governing services and artifacts through different projects from planning and design all the way to implementation operation and retirement.
The most important change that I see at our customers compared with two year ago is that they more more interested and willing to invest in governance technologies.
What is SOA Governance about
SOA governance technology is about:
- Tracking and monitoring the artifacts in a SOA
- Enforcing and ensuring compliance with the policies associated with the artifacts
- Measuring the outcomes related to their use
Oracle’s SOA governance offering
Oracle’s offering in the Governance technologies market is part of it’s Fusion Middleware product line. It includes the following products (see this this blog):
- Oracle Enterprise Gateway and Oracle Web Services Manager – Full life cycle policy management
- Oracle Enterprise Repository
- Oracle Service Registry
- Oracle SOA Management Pack
This number of products and the complexity of Oracle’s offering can make it hard to get a good grasp of what product will cater your specific needs. Should you need more insight visit our SOA governance seminar.
On December 13th Whitehorses will host a seminar on SOA and Governance. During this seminar we will show the value of a proper architecture and governance for your organization. In the presentation you will get clear guidelines and steps on a pragmatic approach for implementing a manageable SOA solution.
Some of the topics:
- What is SOA Governance and Why do we need it?
- SOA reference architecture – The importance of solid standardization.
- Service life-cycle governance – Design and build the right services and the proper way to reuse them.
- Service repository – With examples of repositories based on Oracle Enterprise Repository (OER) and a wiki.
Recently while listening to OTN ArchBeat podcasts, a panel discussion on Reference Architectures (part 2 and part 3) I was thinking back to some pieces I wrote on industry data models and processes that I didn’t share with you yet. There a some similar argument to using these and reference architectures.
The value of reference models whether it contains data models, standardized messages, processes of a reference architecture, is or should be in a faster time to market and better quality of the solution.
Handle with care
What makes it hard to achieve this value, is the fact that these models contain always far more than is needed. That can be considered a waste. Even the parts that are not used still require attention while implementing and maintaining. This incurs work to understand the complex model, hide the details you don’t need, and customize and extend the parts you need.
Implementing a reference model requires spending time to determine how and to what extend this model meets the needs of your business? That is typically something you have to discover for yourself. It is where the majority of the time is spend! If you don’t go through the effort of understanding your business requirements, you are missing understanding of how the business can and should use the model. That makes it very hard to determine the value of the end solution to the business.
When using a reference models you should be aware that your business is not average. In some shape or form it delivers value to your customers in away a reference model doesn’t provide. Reference models should be used with care your business deserves.
This blog post will show you how to install Oracle Enterprise Repository, or OER in short. The assumptions is that you have a running WebLogic Server (with SOA Suite on top of it) and a database.
Prepare – database
The most important part of the preparation for the installation of Oracle Enterprise Repository is the creation of tablespaces and the user that will hold the database objects.
Create the required tablespaces
You can change the names of the tablespaces and alter the path and names of the data files according to your needs. The example is based on an installation on the Windows OS. If your on Linux/Unix you probably know what to do to make it work on your platform…
CREATE TABLESPACE OER_DATA DATAFILE 'D:\oracle\oraclexe\oradata\XE\oer_data.dbf' SIZE 300M AUTOEXTEND ON NEXT 10240K MAXSIZE UNLIMITED EXTENT MANAGEMENT LOCAL AUTOALLOCATE LOGGING ONLINE SEGMENT SPACE MANAGEMENT AUTO; CREATE TABLESPACE OER_LOB DATAFILE 'D:\oracle\oraclexe\oradata\XE\oer_lob.dbf' SIZE 300M AUTOEXTEND ON NEXT 10240K MAXSIZE UNLIMITED EXTENT MANAGEMENT LOCAL AUTOALLOCATE LOGGING ONLINE SEGMENT SPACE MANAGEMENT AUTO; CREATE TABLESPACE OER_INDEX DATAFILE 'D:\oracle\oraclexe\oradata\XE\oer_index.dbf' SIZE 300M AUTOEXTEND ON NEXT 5120K MAXSIZE UNLIMITED EXTENT MANAGEMENT LOCAL AUTOALLOCATE LOGGING ONLINE SEGMENT SPACE MANAGEMENT AUTO;
Create the user
Change the user name and password (both OER in this case) to cater your needs.
CREATE USER OER IDENTIFIED BY OER DEFAULT TABLESPACE OER_DATA TEMPORARY TABLESPACE TEMP; GRANT CREATE MATERIALIZED VIEW TO OER; GRANT CREATE SEQUENCE TO OER; GRANT CREATE SESSION TO OER; GRANT CREATE SYNONYM TO OER; GRANT CREATE TABLE TO OER; GRANT CREATE TRIGGER TO OER; GRANT CREATE VIEW TO OER; GRANT UNLIMITED TABLESPACE TO OER;
Us the follwing command from a dos prompt to start the OER installation. By default it will start in graphical mode. You can use the
-mode option to start it in
java -jar OER111150_generic.jar -log=C:\installSOA\logs\OER_install.log
Run WebLogic Server Domain Configuration Wizard
To run the Domain Configuration Wizard on Windows you can click:
Start > Programs > Oracle Products > Tools > Configuration Wizard. On any platform you can run the
config script in the
. For example:
> cd oracle\Middleware\wlserver_10.3\common\bin > config.cmd
Post Install actions
To use all options in the Repository you need to install Java Web Start. To check whether Java Web Start is installed correctly use the test Java link.
Although there can be a lot of debate on what is Architecture in the world of IT and on who is an architect and who isn’t, I think it is clear that it is not exactly Brain Surgery. And i think that is actually a good thing. Although the implementation of a (Service Oriented) Architecture is in most cases bound to hit vital parts of an organization it isn’t …
And even though there can be just as many parameters in the larger equations, architecture isn’t exactly rocket science either…
Both during development and maintenance of code, deployment strategies relying on copying of artifacts will fail, or at least complicate the task at hand and frustrate reuse. SOA Suite offers a centralized storage for artifacts (like WSDL, XSD, and XSL files) that can be accessed both at design time and at run-time. It is called the MDS Repository, and comes with Metadata Services on top of it. It is part of the SOA Suite and doesn’t require additional installation. This blogpost will show you how to upload an artifact to the central MDS Repository, and how to use the uploaded artifact in your source code.
Locate and copy the WSDL
Locate the WSDL file in your project on the local file system, for example:
C:\JDeveloper\mywork\AIApocBOUW\CreateInventoryTransactionRIBRMSProvABCSImpl.wsdl. In which a convention like
C:\JDeveloper\mywork\__Workspace__\__project__ is used. You can also determine this path in JDeveloper by selecting the WSDL file and use
CRTL-SHIFT-C (or by selecting contextmenu – Copy Path).
Use an FTP tool to move the file to the server running the SOA Suite. The path to use on the server depends on the application, version and component type. Typically in AIA there is a structure like
$AIA_HOME/AIAMetaData/AIAComponents/ApplicationConnectorServiceLibrary/__Application__/__version__/__componentType__ . Where in AIA component types are ABCS Provider, ABCS Requestor, EBS, et cetera. In other environments you can create your own structure. Since you no longer need a local copy of the WSDL, remove it from your local file system.
Load the WSDL in the MDS Repository
To load the WSDL and other artifacts to the MDS repository there is an ANT script available on the server. To use ANT, make sure the needed environment settings are made correctly. When you installed AIA there is a Shell script available the will source both AIA and ANT environments:
aiaenv.sh. This script can be found in
...../weblogic/aia30/aia_instances/aia30poc/bin. It can be convenient to copy this to your home directory.
- Source AIA and ANT environment:
- Alter the
UpdateMetaDataDP.xmlconfiguration file. It can be found in
UpdateMetaDataDP.xml file alter the file set. In the example on which the screenshot is based
And now you are ready to run ANT using the actual loading script:
ant –f /fs01/app/oracle/esbtst01/weblogic/aia30/Infrastructure/Install/scripts/UpdateMetaData.xml
- check that the correct number of files has been copied.
- the server gave a HTTP response 200.
- The deployment of the composite was successful.
Another check to verify a correct load into the MDS Repository is to use the MDS Browser in JDeveloper to find the file you just uploaded. A refresh of the view could be needed to include the latest changes and additions.
Using the WSDL in the MDS Repository in your source code
Check the change using the source view. In the import of the WSDL in the
composite.xml there should now be an URL referring to
oramds:, like in the example below:
<import namespace="http://xmlns.oracle.com/ABCSImpl/LOCUS/Core/CreateStockChangeLOCUSReqABCSImpl/V1" location="oramds:/apps/AIAMetaData/AIAComponents/ApplicationConnectorServiceLibrary/Locus/V1/RequesterABCS/CreateStockChangeLOCUSReqABCSImpl.wsdl" importType="wsdl"/>
Most discussions on Cloud Computing I’ve been reading are focused on the infrastructure and technology part. It offers easy to deploy infrastructures or even applications in a very scalable way. All this in a pay-per-* way. And here is where a CFO should get interested. Moving to a Cloud implies moving from CAPEX to OPEX. Usually a CFO has an idea on how to keep these balanced. The Enterprise Architecture of some organizations even have very strict guidelines on whether certain expenses should the one or the other. So that’s the first one to thing about…
As was stated in a previous blogpost on measuring the business value of SOA, project metrics for business value created by SOA projects, IT projects, or even projects in general are rare. If I were a CFO this would worry me.
Besides that SOA efforts in a way also demand a different way of cost accounting than the traditional silo based. If my organizational unit owned (and had to account for the costs) of a rather popular often reused service, I would like to charge them. Say for example in a pay-per-service-call way. How do the financial systems under the responsibility of the CFO facilitate this?
Of course there will be lots of other stuff on your agenda if you are the CFO. But hey due to the crisis interest rates are low, labor is cheap, as are materials, so why not invest now in the foundation/infrastructure for the future 😉
If you’re a CFO and – by incident – are reading this blogpost please let me know what you think, and add a comment…
To prepare your visit to Oracle OpenWorld 2010, this post provides some links to selections of sessions with a focus on eg BPM, AIA, et cetera. Here is my top ten:
- Oracle AIA – Application Integration Architecture
- Architects and architecture
- BPM – Business Process Management
- Cloud Computing
- Data Integration
- EDA – Event Driven Architecture
- Fusion Middleware development
- Java EE
- Middleware for Enterprise Applications
- SOA – Service Oriented Architecture
Okay, i’ll plug two sessions:
- Customer – S314708 – Transform Your Business with Oracle Application Integration Architecture | Monday, September 20, 14:00 | Moscone West L3, Rm 3011
- Colleague – S316135 – From Oracle Forms to a Service-Oriented Architecture with Oracle SOA Suite 11g | Tuesday, September 21, 5:00PM | Marriott Marquis, Salon 9