tag:blogger.com,1999:blog-44245315337975143022024-03-19T04:20:57.808-07:00Léon Smiers BlogLéon Smiershttp://www.blogger.com/profile/10331525207139601452noreply@blogger.comBlogger25125tag:blogger.com,1999:blog-4424531533797514302.post-85009649757704340822013-09-20T09:25:00.001-07:002013-09-20T09:25:43.789-07:00Case management supporting re-landscaping<span style="font-family: Helvetica; mso-bidi-font-family: Helvetica;"></span> <div class="MsoNormal" style="mso-layout-grid-align: none; mso-pagination: none; text-autospace: none;">
<span style="font-family: Helvetica; mso-bidi-font-family: Helvetica;">There are a lot of informal end-to-end processes in organizations.
These end-to-end processes are usually supported by scattered applications,
email, spreadsheets and a lot of goodwill of the personnel involved. When
compliance, regulations and/or customer demands are imposed on an organization,
these end-to-end processes do not have the ability to comply with new demands due
to lack of support from the current application landscape. In the
financial, public and utilities market organizations are re-landscaping their
existing application portfolio due to these higher compliance, regulations and
customer demands. This often is not a huge <span style="mso-spacerun: yes;"> </span>transformation program, with a roadmap
spanning over years.</span></div>
<div class="MsoNormal" style="mso-layout-grid-align: none; mso-pagination: none; text-autospace: none;">
<span style="font-family: Helvetica; mso-bidi-font-family: Helvetica;">Case management can help cross the bridge from the current landscape
towards a landscape aimed at delivering these higher demands.</span></div>
<div class="MsoNormal" style="mso-layout-grid-align: none; mso-pagination: none; text-autospace: none;">
<br /></div>
<div class="MsoNormal" style="mso-layout-grid-align: none; mso-pagination: none; text-autospace: none;">
<span style="font-family: Helvetica; mso-bidi-font-family: Helvetica;">Let’s explain this with the process of complaints. This
functionality is needed in any market where customer contact is present, and
where due to increasing compliance and customer demands the bar needs to be raised
to deliver better quality, such as delivering an answer within a given
timeframe. </span></div>
<div class="MsoNormal" style="mso-layout-grid-align: none; mso-pagination: none; text-autospace: none;">
<br /></div>
<div class="MsoNormal">
The customer is not satisfied and sends a complaint or calls
the organization.</div>
<div class="MsoNormal">
The Complaint process is separated in two main parts, the task
handling and the case handling.<span style="mso-spacerun: yes;"> </span>Task
handling covers the receive- and register process of the complaint. If a
complaint can be handled directly without internal process, the complaint
process can be done by using a task. If a complaint cannot be handled directly
because for instance another person must be involved in the process the
complaint will be continued by a case.<span style="mso-spacerun: yes;"> </span>The
complaints end-to-end process is milestone driven. The path towards reaching a
milestone includes different tasks. Especially the Assessment phase can include
multiple tasks across departments, going back and forth.</div>
<div class="MsoNormal">
Time-out checks and customer intervention can directly
interfere with the complaint handling.</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhJWqV4ewzs0bo-l6v55S45LGZ020yOmSUGuHlMFXRwus2HD-XRQcOtQalaj1MwF-7PHxn_G-qAfvhW1EHbNnP6h_4nCTmKW9e0hdn2AQFlMNQcst-vku9SNN1ESUQQSjD-THTJicIhJyY/s1600/blog-cm-1.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="339" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhJWqV4ewzs0bo-l6v55S45LGZ020yOmSUGuHlMFXRwus2HD-XRQcOtQalaj1MwF-7PHxn_G-qAfvhW1EHbNnP6h_4nCTmKW9e0hdn2AQFlMNQcst-vku9SNN1ESUQQSjD-THTJicIhJyY/s640/blog-cm-1.jpg" width="640" /></a></div>
<div class="MsoNormal" style="mso-layout-grid-align: none; mso-pagination: none; text-autospace: none;">
<span style="font-family: Helvetica; mso-bidi-font-family: Helvetica; mso-no-proof: yes;"><br /></span><span style="font-family: Helvetica; mso-bidi-font-family: Helvetica;"></span></div>
<div class="MsoNormal" style="mso-layout-grid-align: none; mso-pagination: none; text-autospace: none;">
<span style="font-family: Helvetica; mso-bidi-font-family: Helvetica;">Oracle Case management delivers functionality to manage the three
key stages of the process, control, automate and improve.</span></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjlyUeThXfv39O_O-ia3z2sJLIjwlL-9mwormtLCrQnLaRKsbPvwe1w9jWgK0NEong_5knyJ69EmGNAVDSBBoygJv5tM4JyuzDhErWu3imNemfYHsxNhCmGo-tHIjakRQlgXfNAF8jfC7c/s1600/blog-cm-2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="196" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjlyUeThXfv39O_O-ia3z2sJLIjwlL-9mwormtLCrQnLaRKsbPvwe1w9jWgK0NEong_5knyJ69EmGNAVDSBBoygJv5tM4JyuzDhErWu3imNemfYHsxNhCmGo-tHIjakRQlgXfNAF8jfC7c/s400/blog-cm-2.png" width="400" /></a></div>
<div class="MsoNormal" style="mso-layout-grid-align: none; mso-pagination: none; text-autospace: none;">
<span style="mso-no-proof: yes;"><br /></span><span style="font-family: Helvetica; mso-bidi-font-family: Helvetica;"></span></div>
<div class="MsoNormal" style="mso-layout-grid-align: none; mso-pagination: none; text-autospace: none;">
<i style="mso-bidi-font-style: normal;"><u><span style="font-family: Helvetica; mso-bidi-font-family: Helvetica;">Control</span></u></i></div>
<div class="MsoNormal" style="mso-layout-grid-align: none; mso-pagination: none; text-autospace: none;">
<span style="font-family: Helvetica; mso-bidi-font-family: Helvetica;">At first the current processes are overarched by a case management wrapper
in which the high level milestones determine the steps that need to be taken,
and which can be controlled on timing an delivery.</span></div>
<div class="MsoNormal" style="mso-layout-grid-align: none; mso-pagination: none; text-autospace: none;">
<span style="font-family: Helvetica; mso-bidi-font-family: Helvetica;">Every main step is designed in Oracle Case Management as a
milestone, each milestone can be revoked for example when the customer, after
informing him, disagrees with the outcome, and which further investigation
needs to be done.</span></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiBsfqYTW05Fzr2h3Tee2LNausnpwMjwH-Bqclh3cenG3bPip9ccDxY8iDgQf8mbGBV-odaspr-IMEEa0YeKy42j_9aj2TzoUWbzIml1kbUU6NAVVGZ75MS4gXNB84yUX30hZFk2ol3J8g/s1600/blog-cm-3.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="472" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiBsfqYTW05Fzr2h3Tee2LNausnpwMjwH-Bqclh3cenG3bPip9ccDxY8iDgQf8mbGBV-odaspr-IMEEa0YeKy42j_9aj2TzoUWbzIml1kbUU6NAVVGZ75MS4gXNB84yUX30hZFk2ol3J8g/s640/blog-cm-3.png" width="640" /></a></div>
<div class="MsoNormal" style="mso-layout-grid-align: none; mso-pagination: none; text-autospace: none;">
<span style="font-family: Helvetica; mso-bidi-font-family: Helvetica; mso-no-proof: yes;"><br /></span><span style="font-family: Helvetica; mso-bidi-font-family: Helvetica;"></span></div>
<div class="MsoNormal" style="mso-layout-grid-align: none; mso-pagination: none; text-autospace: none;">
<span style="font-family: Helvetica; mso-bidi-font-family: Helvetica;">The simplest way to start is attaching Human tasks to the milestones,
which acts as a checklist for ensuring that all the activities are done. The
complaints specialists and other actors involved keep on doing the work in the
same way, additionally they need to update checklists when a certain activity
is done. This maintains and audit trail tracking the progress of all complaints
processes and ensuring SLA’s are managed, no delayed delivery of answers to the
customer and at the same timing enforcing compliance rules and regulations.</span></div>
<div class="MsoNormal" style="mso-layout-grid-align: none; mso-pagination: none; text-autospace: none;">
<br /></div>
<div class="MsoNormal" style="mso-layout-grid-align: none; mso-pagination: none; text-autospace: none;">
<i style="mso-bidi-font-style: normal;"><u><span style="font-family: Helvetica; mso-bidi-font-family: Helvetica;">Automate</span></u></i></div>
<div class="MsoNormal" style="mso-layout-grid-align: none; mso-pagination: none; text-autospace: none;">
<span style="font-family: Helvetica; mso-bidi-font-family: Helvetica;">The Control phase delivers knowledge which areas are best suitable
for automation.</span></div>
<div class="MsoNormal" style="mso-layout-grid-align: none; mso-pagination: none; text-autospace: none;">
<span style="font-family: Helvetica; mso-bidi-font-family: Helvetica;">in the next phase <i style="mso-bidi-font-style: normal;">Automate</i>
the move can be made from 90% manual up to 90% automated, freeing up time for
the complaint specialists to spend their time on more value added activities.</span></div>
<div class="MsoNormal" style="mso-layout-grid-align: none; mso-pagination: none; text-autospace: none;">
<br /></div>
<div class="MsoNormal" style="mso-layout-grid-align: none; mso-pagination: none; text-autospace: none;">
<span style="font-family: Helvetica; mso-bidi-font-family: Helvetica;">An essential step in completing this phase is that the Case
management structure within Oracle Case Management acts as the constant
controlling elements, the processes underneath can change, the rules for
finishing milestones can change, events can change and even the milestones can
change, but Case control stays in place.</span></div>
<div class="MsoNormal" style="mso-layout-grid-align: none; mso-pagination: none; text-autospace: none;">
<br /></div>
<div class="MsoNormal" style="mso-layout-grid-align: none; mso-pagination: none; text-autospace: none;">
<i style="mso-bidi-font-style: normal;"><u><span style="font-family: Helvetica; mso-bidi-font-family: Helvetica;">Optimize </span></u></i></div>
<div class="MsoNormal" style="mso-layout-grid-align: none; mso-pagination: none; text-autospace: none;">
<span style="font-family: Helvetica; mso-bidi-font-family: Helvetica;">The optimize phase does not have to wait until the automate phase is
completed. Already during the control phase dashboard can be utilized identifying
bottlenecks and delays in the process, enabling for root cause analysis and
eventually supporting process improvement This can be done via the
out-of-the-box functionality within Oracle BPM, showing the activity logging and
with the addition of Key Performance Driven measurements with Business Activity
Monitoring (BAM).</span></div>
<div class="MsoNormal" style="mso-layout-grid-align: none; mso-pagination: none; text-autospace: none;">
<br /></div>
<div class="MsoNormal" style="mso-layout-grid-align: none; mso-pagination: none; text-autospace: none;">
<b style="mso-bidi-font-weight: normal;"><i style="mso-bidi-font-style: normal;"><u>Want to know how we control the process
to make the steps towards automation and optimization?</u></i></b></div>
<div class="MsoNormal" style="mso-layout-grid-align: none; mso-pagination: none; text-autospace: none;">
<a href="https://oracleus.activeevents.com/2013/connect/sessionDetail.ww?SESSION_ID=9839&tclass=popup" target="_blank"><span style="font-family: Helvetica; mso-bidi-font-family: Helvetica;">Join us at Oracle Open World</span></a></div>
<div class="MsoNormal" style="mso-layout-grid-align: none; mso-pagination: none; text-autospace: none;">
<br /></div>
<div class="MsoNormal" style="mso-layout-grid-align: none; mso-pagination: none; text-autospace: none;">
<a href="http://www.oracle.com/technetwork/middleware/bpm/community/obpms-capg-publicmktcomplaint-1849951.pdf" target="_blank"><span style="font-family: Helvetica; mso-bidi-font-family: Helvetica;">Complaints management</span></a></div>
<div class="MsoNormal" style="mso-layout-grid-align: none; mso-pagination: none; text-autospace: none;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhjUlfKxmpryWyyXjo_9r34rnqwHuwMARaZ6Ce269-dMFI1yCmZ7zFM4abQ8_hlU58yShMOS6uMSD5_DQkq6p79eILDAubJ0eC4Eg30kO5Q4-ZwOa-4R9wfYmP8cqD_rYm0xK37mia53Ro/s1600/blog-cm-4.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="336" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhjUlfKxmpryWyyXjo_9r34rnqwHuwMARaZ6Ce269-dMFI1yCmZ7zFM4abQ8_hlU58yShMOS6uMSD5_DQkq6p79eILDAubJ0eC4Eg30kO5Q4-ZwOa-4R9wfYmP8cqD_rYm0xK37mia53Ro/s640/blog-cm-4.png" width="640" /></a></div>
<div class="MsoNormal" style="mso-layout-grid-align: none; mso-pagination: none; text-autospace: none;">
<br /></div>
<div class="MsoNormal" style="mso-layout-grid-align: none; mso-pagination: none; text-autospace: none;">
<a href="http://www.oracle.com/technetwork/middleware/bpm/community/obpms-capg-publicmktcomplaint-1849951.pdf"><span style="color: #0000e9; font-family: Helvetica; mso-bidi-font-family: Helvetica;"><br /></span></a><span style="font-family: Helvetica; mso-bidi-font-family: Helvetica;"></span></div>
<div class="MsoNormal" style="mso-layout-grid-align: none; mso-pagination: none; text-autospace: none;">
<br /></div>
Léon Smiershttp://www.blogger.com/profile/10331525207139601452noreply@blogger.com0tag:blogger.com,1999:blog-4424531533797514302.post-84210761036496073262013-04-02T13:59:00.000-07:002013-04-02T14:19:51.150-07:00An introduction to Oracle Case ManagementOracle makes a habit of adding important functionality to minor patch sets. In the recent 11G Release 2 Patch set 6 of Fusion middleware, Oracle has added a milestone in the BPM stack, the Case management functionality. Discussions around this topic had already been going for a while, but finally the first part of it is included in the Fusion Middleware stack.<br />
In this blog I will elaborate its importance and what is contains Since this an important functional addition we will publish more detailed blogs around this topic in the near future.
<b> </b><br />
<br />
<h3>
<u><b>What functionality is needed for Case Management? </b></u></h3>
Organizations increasingly need to deal with unstructured processes that Business Process Management Suites are not designed to cope with. Case Management is a way to govern and control these unstructured processes, but Case Management solutions can be challenging to develop. Developing Case Management around a BPM solution preferably in conjunction with an Enterprise Content Management System solves many of these problems.
<b> </b><br />
<br />
<h4>
<u>What is a case? </u></h4>
A case is a collection of activities that support a specific business objective. Each case has a lifecycle. During that lifecycle there will be a range of activities and requirements; information and content may need to be gathered in a wide range of formats (such as documents, email, minutes, interviews, photos and other data). Throughout there will be process related tasks and actions, human decisions and interventions. At any time in the lifecycle we should be able to have a holistic view of the case, create reports and review audit trails. A case will be subject to organizational policy or procedure, which determines the appropriate outcomes.<br />
<br />
<h4>
<u>High level overview </u></h4>
<br />
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj3ABkHu2ItlXuS_R8_7zbVie1OIvFZZcE3331egpW6cT8t_UwNt-d0IGMXZVNts1pI8HXiPA3CKi0pGJflDKvA0aP5bsY3eVARJbJjLu4a5os1uExUA5V9keotiEAbjdxy_jIViM2Bhtw/s1600/Case+funt+overview.bmp" imageanchor="1"><img border="0" height="251" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj3ABkHu2ItlXuS_R8_7zbVie1OIvFZZcE3331egpW6cT8t_UwNt-d0IGMXZVNts1pI8HXiPA3CKi0pGJflDKvA0aP5bsY3eVARJbJjLu4a5os1uExUA5V9keotiEAbjdxy_jIViM2Bhtw/s640/Case+funt+overview.bmp" width="640" /></a><br />
<br />
The architecture around a case management solution consists of three main components:<br />
<br />
<u>Portals and Dashboards</u> – Portals bring together all information around the case, lifecycle related activities, finished work, involved persons, gathering media into a 360 degree view. Dashboards give insight in SLAs and KPIs related to the case.<br />
<br />
<u>Processes and Rules Management</u> – BPM and rules management play an important role in the execution of all tasks by participants and related applications. Flexibility can be added to the solution with rules management.<br />
<br />
<u>Integration</u> – A core component in the solution enabling integration of case management with the application landscape, including connections with an Enterprise Content Management system.<br />
<br />
<h3>
<b>Case Management in Oracle Fusion Middleware
</b></h3>
Case Management is ‘just another’ set of functionality needed in the Oracle Fusion Middleware stack to support Fusion Applications. Oracle Fusion Middleware has been created from the ground up with the principles Complete, Open and Integrated in mind. Added to that is the principle of re-use to the max; <i> </i><br />
<br />
<i>Re-use of components across the Oracle 11G Fusion Middleware stack, for instance a Database Adapter, is essential. It improves stability and predictability of the solution. BPM just is one of the components plugging into the stack and reuses all other components.</i><br />
<br />
The result of this principle is that adding Case Management to the Fusion Middleware is ‘only’ a matter of adding core Case Management capabilities, such as lifecycle management, the ability to combine together processes and activate case functionalities based upon events.<br />
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiwJonbqHofObVmdUeZo4oiPzlw5Qi8WsRmKPZP02-1jo8JhpXqW2el2TWILMsHbqIm_1gNHlirDNABOT5CLYr7TmRnTKFrI7QphPRy6eHAhbdFufsKZmTV4Yt9Iww835GKsp8l2FZ8QMk/s1600/Case+funt+overview-ora+impl.bmp" imageanchor="1"><img border="0" height="249" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiwJonbqHofObVmdUeZo4oiPzlw5Qi8WsRmKPZP02-1jo8JhpXqW2el2TWILMsHbqIm_1gNHlirDNABOT5CLYr7TmRnTKFrI7QphPRy6eHAhbdFufsKZmTV4Yt9Iww835GKsp8l2FZ8QMk/s640/Case+funt+overview-ora+impl.bmp" width="640" /></a>
In the current version all design and run-time case management functionality is included except the portal component, this will likely to be part of release 12c.
<b> </b><br />
<br />
<h4>
<u>Main components of Oracle BPM/Case Management</u></h4>
After creation of a Case Management in Oracle BPM the two main components of the implementation appear, a Case object and a Case related rules set.<br />
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiF9RpJCAfsfTOqDZOHsfB52wzaFQ7dnn1f3wCweji_jExLZwouoPeGbPalaAFLhoojKsA46PmEUs1ooDrw8AfUZLmpuhXXnP30SEZtU79r8Gvwza7449SBfp_ImA6mV5KFn4DNUypCMVg/s1600/CaseProject.jpg" imageanchor="1"><img border="0" height="272" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiF9RpJCAfsfTOqDZOHsfB52wzaFQ7dnn1f3wCweji_jExLZwouoPeGbPalaAFLhoojKsA46PmEUs1ooDrw8AfUZLmpuhXXnP30SEZtU79r8Gvwza7449SBfp_ImA6mV5KFn4DNUypCMVg/s640/CaseProject.jpg" width="640" /></a><br />
<br />
The case object gives the ability to define the case definition on a high level. Milestones, Data and Documents, User Events, Permissions to name the most important.
Here an example of data objects as defined in an example case provided by Oracle (the car loan example).
<b></b><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiDgrSwl8oFUKDW6M9y5bySZJAn08vhCoywDqCvyyPN5kIQsqYpR7Ab2Wb4ubXwY66kk2gvaE9pPHx0GhrUV4eid-QXI2WmSh-7-NIvmdLyhdqM7wmqsDPUUQo8aOQ_08g99B4UlNhnvIU/s1600/CaseData.jpg" imageanchor="1"><img border="0" height="210" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiDgrSwl8oFUKDW6M9y5bySZJAn08vhCoywDqCvyyPN5kIQsqYpR7Ab2Wb4ubXwY66kk2gvaE9pPHx0GhrUV4eid-QXI2WmSh-7-NIvmdLyhdqM7wmqsDPUUQo8aOQ_08g99B4UlNhnvIU/s640/CaseData.jpg" width="640" /></a> <b></b><br />
<br />
<u>The Case Rule engine</u> is the work-horse of the Case management implementation, which is based upon the well-known Oracle Business Rules engine.
In this Rules engine a predefined set of Case Management data objects can be used to steer anything going on in the case. This rules engine enables a complete event driven case management solution.<br />
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiryxiBriBR4_goXsggVqCzWJMMvDKN42m_2T6R5FI_WSFF0CqGTioRaCB9hY7xCd0oqdkVZVqOq0UP_KQwHVUG47jhyalQxc0wIApgRG9DejMuae4Y-Uwk4o7MHt8vD4lldIfUqtu83-Q/s1600/EventTypes.jpg" imageanchor="1"><img border="0" height="244" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiryxiBriBR4_goXsggVqCzWJMMvDKN42m_2T6R5FI_WSFF0CqGTioRaCB9hY7xCd0oqdkVZVqOq0UP_KQwHVUG47jhyalQxc0wIApgRG9DejMuae4Y-Uwk4o7MHt8vD4lldIfUqtu83-Q/s320/EventTypes.jpg" width="320" /></a><br />
<br />
Examples of the Case Management rules engine when an event occurs; a sequence of actions; Closing of Milestones (reach milestone); Withdrawing of activities.<br />
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhAxr_lapqiFyfM44S4YnwzASrFDsB9qpbdMpRDaA1mhr1ITOxPUdCmlP2u34AtGLQsGtbU-tQSit1XZAkNRgsqeqJZoy5_GEI8pMT1yXDHXEZPjZbjHCG3A2EMJ8f-ZqMn8oYtom0MKMI/s1600/Caserules.jpg" imageanchor="1"><img border="0" height="241" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhAxr_lapqiFyfM44S4YnwzASrFDsB9qpbdMpRDaA1mhr1ITOxPUdCmlP2u34AtGLQsGtbU-tQSit1XZAkNRgsqeqJZoy5_GEI8pMT1yXDHXEZPjZbjHCG3A2EMJ8f-ZqMn8oYtom0MKMI/s640/Caserules.jpg" width="640" /></a>
<b> </b><br />
<h4>
</h4>
<h4>
<u>How do processes and a case work together </u></h4>
An (asynchronous) process can easily be connected to a case. After creation, the process can be promoted to a Case Activity. This will make the process part of the Case lifecycle and enables it to be used in the Rules engine.<br />
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiqj_G_m9okfLFG__MsdLtGjojU2iPvJsHnbwLUoQPjhGgL9L1Pmv9752UXNbm5LahE-uoY4XQG7FavQpqRpHsd0irgFsPWpy1HwvzeMLL2rmbse1CdG3omkLOOtCGxhVEwtZRybrSLu7s/s1600/PromoteProcessToCase.jpg" imageanchor="1"><img border="0" height="291" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiqj_G_m9okfLFG__MsdLtGjojU2iPvJsHnbwLUoQPjhGgL9L1Pmv9752UXNbm5LahE-uoY4XQG7FavQpqRpHsd0irgFsPWpy1HwvzeMLL2rmbse1CdG3omkLOOtCGxhVEwtZRybrSLu7s/s400/PromoteProcessToCase.jpg" width="400" /></a>
<b> </b><br />
<br />
<h4>
</h4>
<h4>
<u><b>First experiences
</b></u></h4>
It takes some time to understand the true power of Case Management as part of Oracle BPM. There is maximum reuse of existing BPM assets. The shared data & documents environment enables easy sharing of information across case activities, and the complete event based rules approach enables complete lifecycle management in a simplified way. This all enables fast delivery of a case management solution.
Improvement points however are the current lack of a portal component and a more business oriented design environment, since Business rules is rather techie aimed.<br />
<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgU6o2UNvRAbDToFb55KellgOMKprOMR2NG_xPLpoR1Y-hbiTru76EEGdynDGWnzMm2mmSek9LXrl9XlR21Ec-9R2bx75rAWTliF3wcWceDnLnYLI2SaXCoRiV6yez5Yj-2dCD0YNdfW_Q/s1600/leonsmiers2.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" height="200" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgU6o2UNvRAbDToFb55KellgOMKprOMR2NG_xPLpoR1Y-hbiTru76EEGdynDGWnzMm2mmSek9LXrl9XlR21Ec-9R2bx75rAWTliF3wcWceDnLnYLI2SaXCoRiV6yez5Yj-2dCD0YNdfW_Q/s200/leonsmiers2.jpg" width="150" /></a></div>
<style>
<!--
/* Font Definitions */
@font-face
{font-family:Calibri;
panose-1:2 15 5 2 2 2 4 3 2 4;
mso-font-charset:0;
mso-generic-font-family:auto;
mso-font-pitch:variable;
mso-font-signature:3 0 0 0 1 0;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
{mso-style-unhide:no;
mso-style-qformat:yes;
mso-style-parent:"";
margin:0cm;
margin-bottom:.0001pt;
mso-pagination:widow-orphan;
font-size:11.0pt;
font-family:Calibri;
mso-fareast-font-family:Calibri;
mso-bidi-font-family:"Times New Roman";
mso-ansi-language:NL;}
a:link, span.MsoHyperlink
{mso-style-priority:99;
color:blue;
text-decoration:underline;
text-underline:single;}
a:visited, span.MsoHyperlinkFollowed
{mso-style-noshow:yes;
mso-style-priority:99;
color:purple;
mso-themecolor:followedhyperlink;
text-decoration:underline;
text-underline:single;}
.MsoChpDefault
{mso-style-type:export-only;
mso-default-props:yes;
font-size:10.0pt;
mso-ansi-font-size:10.0pt;
mso-bidi-font-size:10.0pt;
font-family:Calibri;
mso-ascii-font-family:Calibri;
mso-fareast-font-family:Calibri;
mso-hansi-font-family:Calibri;}
@page WordSection1
{size:612.0pt 792.0pt;
margin:70.85pt 70.85pt 70.85pt 70.85pt;
mso-header-margin:35.4pt;
mso-footer-margin:35.4pt;
mso-paper-source:0;}
div.WordSection1
{page:WordSection1;}
</style> <span style="font-size: x-small;">Léon Smiers works as a
Solution Architect for Capgemini The Netherlands in the area of Oracle
Technology and Architecture, where he is one of the leading Oracle specialists.
He has done a lot of work and research in the field of Integration and new
technologies, like RFID, SOA, EDA and BPM, on which he wrote articles and
presented on international conferences. Currently Léon is setting up Solution
Architectures for large Oracle based projects and is Oracle BPM Thought leader
for Capgemini. Based upon his close cooperation with Oracle development and
product management Léon was awarded with the Oracle ACE title in 2010.</span><br />
<span style="font-size: x-small;">
</span><br />
<div class="MsoNormal">
<span style="font-size: x-small;">Léon is co-inventor of
the Common Reference Architecture mode or CORA model, which helps in getting control
over the IT landscape in a Hybrid environment and delivers a predictable,
repeatable and risk-aware<i> </i>solution
design (<a href="http://www.coramodel.com/">http://www.coramodel.com</a>). </span></div>
<span style="font-size: x-small;">
<span style="font-family: Calibri;">Prior to Capgemini Léon worked for Ernst & Young
Consulting, USoft, the City of Rotterdam and has over 20 years of experience in
IT. Léon obtained his Master of Science in Astronomy at the Leiden University</span></span>
Léon Smiershttp://www.blogger.com/profile/10331525207139601452noreply@blogger.com3tag:blogger.com,1999:blog-4424531533797514302.post-23812809693125275892011-11-20T01:04:00.000-08:002014-09-26T03:29:30.830-07:00The Capgemini Oracle BPM/Case management Blog index<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiwvjiQN7L9cyWBcu8wq7MSiI5ZjPdA1l9pXz-cwPdkT9Uufc18PMQLBxaTtbXiZ6-sFagI7h3bwU4aDAjoJtA3I3LTE-_di9AWttJ0RZ8sB3SzcXIh3dWudZv32Mxl0ITXiDmqNIlEwiI/s1600/Capgemini+Leon+Bus.jpg" onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}"><img alt="" border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiwvjiQN7L9cyWBcu8wq7MSiI5ZjPdA1l9pXz-cwPdkT9Uufc18PMQLBxaTtbXiZ6-sFagI7h3bwU4aDAjoJtA3I3LTE-_di9AWttJ0RZ8sB3SzcXIh3dWudZv32Mxl0ITXiDmqNIlEwiI/s320/Capgemini+Leon+Bus.jpg" id="BLOGGER_PHOTO_ID_5677008343818314978" style="cursor: hand; cursor: pointer; float: right; height: 180px; margin: 0 0 10px 10px; width: 320px;" /></a><br />
<br />
Capgemini has been sharing the last couple of years quite a bit around Oracle BPM. I'll keep this post as an index towards these blogs and presentations.<br />
<br />
<br />
<br />
<br />
<span style="font-weight: bold;">Presentations & White papers</span><br />
<span style="font-weight: bold;"><br /></span>
<a href="http://www.capgemini.com/resources/case-management-with-oracle" target="_blank">Case Management with Oracle white paper (2014, Léon Smiers)</a><br />
<br />
<div class="separator" style="clear: both; text-align: left;">
<a href="http://www.slideshare.net/leonsmiers/oracle-open-world-2013-case-management-smiers-kitson" target="_blank">Case Management with the Oracle BPM Suite</a></div>
2013, Léon Smiers, Nicholas Kitson, Oracle Open World<br />
<br />
<a href="http://www.slideshare.net/leonsmiers/oow-2011-simplifying-work-order-management-in-the-utility-market-with-oracle-bpm" target="_new">Presentation around the Stedin Work Management Case<br />2011, Léon Smiers/Björn Ampting, Oracle Open World</a><br />
<br />
<a href="http://www.slideshare.net/leonsmiers/oracle-soa-and-e20-partner-community-forum-bpm-lon-smiers-share-7326429">Oracle SOA and E2.0 Parner Community Forum, BPM<br />(2011 Léon Smiers)</a><br />
<a href="http://www.youtube.com/watch?v=QNxigKf0qDs" target="_new"><br />Capgemini on Oracle BPM <br />(2010 Léon Smiers Youtube)</a><br />
<br />
<span style="font-weight: bold;">Blogs </span><br />
<br />
<a href="http://www.capgemini.com/blog/capgemini-oracle-blog/2014/07/oracle-business-analytic-monitoring-bam-12c-an-excellent-product" target="_blank">Oracle Business Analytic Monitoring (BAM) 12C, an excellent product improved (2014, Léon Smiers)</a><br />
<br />
<a href="https://www.capgemini.com/blog/capgemini-oracle-blog/2014/03/implementing-deadline-functionality-with-oracle-adaptive-case" target="_blank">Implementing deadline functionality with Oracle Adaptive Case Management (2014 Léon Smiers, Mark Kuijpers)</a><br />
<br />
<a href="http://leonsmiers.blogspot.com/2013/04/an-introduction-to-oracle-case.html" target="_blank">Case Management support re-landscaping (2013, Léon Smiers)</a><br />
<br />
<a href="https://www.capgemini.com/blog/capgemini-oracle-blog/2013/07/oracle-bpm-casemanagement-api-0" target="_blank">The Oracle Case management API (2013, Koen van Dijk) </a><br />
<br />
<a href="https://www.capgemini.com/blog/capgemini-oracle-blog/2013/05/oracle-policy-automation-in-a-web-service-environment-making-th-0" target="_blank">Oracle Policy Automation in a web service environment: making the most of time based reasoning (Els Booij 2013)</a><br />
<br />
<a href="http://www.capgemini.com/blog/capgemini-oracle-blog/2013/01/oracle-policy-automation-in-a-webservice-environment-performance-versus-traceability" target="_blank">Oracle Policy Automation in a web service environment: performance versus traceability (2013, Els Booij)</a><br />
<br />
<a href="http://leonsmiers.blogspot.nl/2013/04/an-introduction-to-oracle-case.html" target="_blank">An Introduction to Oracle Case Management (2013 Léon Smiers)</a><br />
<br />
<a href="http://www.capgemini.com/blog/capgemini-oracle-blog/2012/11/oracle-process-accelerators-the-path-to-process-excellence-faster" target="_blank">Oracle Process Accelerators … the path to process excellence … faster! (2012, Andrew Richards) </a><br />
<br />
<a href="http://www.capgemini.com/blog/capgemini-oracle-blog/2012/05/capgemini-nl-is-officially-specialized-by-oracle-in-bpm" target="_blank">Capgemini NL is officially Specialized by Oracle in BPM (2012, Martijn van der Kamp)</a><br />
<br />
<a href="http://www.capgemini.com/blog/capgemini-oracle-blog/2012/03/oracle-bpm-suspend-and-alter-process" target="_blank">Oracle BPM: Suspend and alter process (2012, Martijn van der Kamp)</a><br />
<br />
<a href="https://www.capgemini.com/blog/capgemini-oracle-blog/2012/11/how-data-and-bpm-are-married-to-get-the-right-information-to-the-right-people-at-the-right-time" target="_blank">How Data and BPM are married to get the right information to the right people at the right time (Léon Smiers, 2012) </a><br />
<br />
<a href="https://www.capgemini.com/blog/capgemini-oracle-blog/2012/04/designing-business-agility-with-oracle-process-composer" target="_blank">Designing Business Agility with Oracle Process Composer (2012, Léon Smiers)</a><br />
<br />
<a href="https://www.capgemini.com/blog/capgemini-oracle-blog/2011/11/measuring-the-human-task-activity-in-oracle-bpm" target="_blank">Measuring the Human Task activity in Oracle BPM (2011 Léon Smiers)</a><br />
<br />
<a href="https://www.capgemini.com/blog/capping-it-off/2011/10/the-importance-of-data-in-process-modeling" target="_blank">The importance of Data in Process Modeling(2011 Léon Smiers)</a><br />
<br />
<a href="https://www.capgemini.com/blog/capgemini-oracle-blog/2011/09/oracle-bam-look-before-you-leap" target="_blank">Oracle BAM – Look before you leap (2011 Martijn van der Kamp, Jan Willem Pas)</a><br />
<br />
<a href="https://www.capgemini.com/blog/capgemini-oracle-blog/2011/06/bpm-or-bpel-that-is-the-question" target="_blank">BPM or BPEL, that is the question (2011 Léon Smiers)</a><br />
<br />
<a href="https://www.capgemini.com/blog/capgemini-oracle-blog/2011/06/enhance-your-business-with-oracle-business-activity-monitoring" target="_blank">Enhance your business with Oracle Business Activity Monitoring (2011 Martijn van der Kamp)</a><br />
<br />
<a href="http://www.capgemini.com/blog/capgemini-oracle-blog/2011/07/shifting-towards-build-to-change-processes-wheres-the-flexibility" target="_blank">Shifting towards ‘build-to-change’ processes, where’s the flexibility (2011 Léon Smiers)</a><br />
<br />
<a href="https://www.capgemini.com/blog/capgemini-oracle-blog/2010/11/oracle-bpm-suite-the-importance-of-sub-processes-within-bpmn20" target="_blank">Oracle BPM Suite, The importance of sub-processes within BPMN20 (2010 Léon Smiers)</a><br />
<br />
<a href="http://leonsmiers.blogspot.nl/2010/04/oracle-has-just-launched-new-business.html" target="_blank">Oracle BPM 11g less is more (2010 Léon Smiers) </a>Léon Smiershttp://www.blogger.com/profile/10331525207139601452noreply@blogger.com0tag:blogger.com,1999:blog-4424531533797514302.post-62830852508183765572011-04-12T23:59:00.000-07:002011-04-13T00:07:20.032-07:00Capgemini Oracle Blog and CORA model<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjGhd3eEL0XOLg584101KeytlidmsTgna7U4Dg4Hfgx5yEefoANjrvEBwxUcNXz0Rb-aXvt4HfbIwsrpc4IcKq2UKWellSgQJMaaGB1IlOd-kY_8oGAZqJ4JzdaGxzlXRwkfPUa9nFQsPM/s1600/Cora.JPG"><img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 320px; height: 123px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjGhd3eEL0XOLg584101KeytlidmsTgna7U4Dg4Hfgx5yEefoANjrvEBwxUcNXz0Rb-aXvt4HfbIwsrpc4IcKq2UKWellSgQJMaaGB1IlOd-kY_8oGAZqJ4JzdaGxzlXRwkfPUa9nFQsPM/s320/Cora.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5594960888281091570" /></a><br /><a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh5pkCR0f5bm_d4rDAs1fKwnph0izve2iQDwVu6KmjQIXZjLbwRXqGJzhphtST7_EZI6O9JT_AbNDmZZ84QLJq9imsqwERnmxWS5uujLZyJ6lfbgZnCgJ5XoJDNZWYCjDU3z1cP1ODO4yQ/s1600/OracleBlog.jpg"><img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 320px; height: 44px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh5pkCR0f5bm_d4rDAs1fKwnph0izve2iQDwVu6KmjQIXZjLbwRXqGJzhphtST7_EZI6O9JT_AbNDmZZ84QLJq9imsqwERnmxWS5uujLZyJ6lfbgZnCgJ5XoJDNZWYCjDU3z1cP1ODO4yQ/s320/OracleBlog.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5594960770154017826" /></a><br />Hello,<br /><br />Since last year I'm heavily involved in the <a href="http://www.nl.capgemini.com/oracleblog/">Capgemini Oracle Blog</a> and the <a href="http://www.coramodel.com/">CORA model</a>. So if you'd like to find more of my blogs and material please go to these websites.<br /><br />LéonLéon Smiershttp://www.blogger.com/profile/10331525207139601452noreply@blogger.com0tag:blogger.com,1999:blog-4424531533797514302.post-9059565635443053722010-04-28T11:36:00.000-07:002010-04-28T13:26:21.594-07:00Oracle BPM 11G, less is more<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhwQ-ghxKwdkFfsQpZtxWjU_5B6xeneheg3FxkkhSQZmDYzRQn8JKmlOC_t4OpyNSpoVBX-uWpDIRLF8X30e3mUIOa4u4l1kVmV6Fm6cqX_lcv3Dc44d9PEd6ypszOSth4_GhyO_5tzilQ/s1600/Oracle+BPMN+process+life+cycle.JPG"><img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 320px; height: 310px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhwQ-ghxKwdkFfsQpZtxWjU_5B6xeneheg3FxkkhSQZmDYzRQn8JKmlOC_t4OpyNSpoVBX-uWpDIRLF8X30e3mUIOa4u4l1kVmV6Fm6cqX_lcv3Dc44d9PEd6ypszOSth4_GhyO_5tzilQ/s320/Oracle+BPMN+process+life+cycle.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5465260626485640034" /></a><br />Oracle has just launched the 'new' Business Process Management Suite (BPMN). Though special as it is, it has just been <a href="http://blogs.oracle.com/bpm/">announced</a> as a patch set of the Fusion Middleware stack. There is a reason for that. Oracle has been working now for years to implement the vision of creating a product stack that is based upon Complete, Open and Integrated. Opportunity driven but still with this clear vision in mind, and aimed at supporting the Application part of Oracle. This resulted in a continuous stream of software companies being taken over and components added to the stack in order to complete this stack. In order to avoid a mess, Oracle continuously evaluates what product parts are strategic, and advocates reuse to the max. Reuse of components across the Oracle 11G Fusion Middleware stack, like for instance a Database Adapter, is essential. It improves stability and predictability of the solution. BPM just is one of the components plugging into the stack and reuses all other components. Compared to one of its predecessors, BEA BPM, the BPMN product is stripped to its core functionality, less is more! <br />What is the 'new' BPMN stack? The core of BPMN is based upon the <a href="http://www.bpmn.org/">BPMN2.0 specification</a>. The goal is to give one integrated view from architecture all the way to implementation. For every role in the Process life cycle the BPMN stack contains a component, which is more or less connected. All these components can work in unison, but also act separately. <br /><br />In this blog we’ll detail out the first two phases, Design and Build. In later blogs we’ll elaborate on the other process life cycle phases. <br /><br />Oracle offers three tools for the design. <br /><br />Design on Enterprise level is executed by the <span style="font-style:italic;">IDS Scheer ARIS Design Platform.</span> There is currently no connection between ARIS and the rest of the (new) BPMN stack, but it can be expected that Oracle will provide this in the (near) future. <br /><br />High level process flow design can be done within the browser based <span style="font-style:italic;">Process Composer</span> (Business Analyst type of tool). The Process Composer adds the ability to discuss the shape and structure of a process in a Business user friendly way with a rich set of functionality. This has huge potential for usage in Rapid Design Visualization type of user sessions. <br /><br />The design can also been done within <span style="font-style:italic;">JDeveloper BPM Studio</span>, which is more suited for developers. Typically this design activity in JDeveloper BPM Studio is done when a solid functional design already exists. Processes and process templates can be shared between Process Composer and the JDeveloper BPM studio.<br /><br />BPM process development in <span style="font-style:italic;">JDeveloper BPM Studi</span>o is created as part of a <a href="http://leonsmiers.blogspot.com/2009/08/composing-applications-like-lego-sca-in.html">SCA Composite</a>.<br />Every component within the SCA composite can be developed in isolation which enables delivery of components by different development teams. This is a big advantage compared to the 'old' BEA BPM tool, where everything was contained in one project. The JDeveloper BPM Studio is very GUI oriented, where you drag-and-drop components on the process canvas. Swim lanes enable to separate Human Tasks, as part of the process, over different user roles. Simulation can help give insight in the behavior of a process, though simulation is an art of its own. <br />In the next blog we will elaborate on the Build and Deploy phase.<br /><br />Oracle BPM group Capgemini The Netherlands, Léon Smiers, Alexander Bijl, Gert Jan Kersten<br />(a repost from <a href="http://www.capgemini.com/technology-blog/">Capping IT Off</a>)Léon Smiershttp://www.blogger.com/profile/10331525207139601452noreply@blogger.com1tag:blogger.com,1999:blog-4424531533797514302.post-8476145445652690582010-02-02T08:26:00.000-08:002010-02-02T08:37:26.052-08:00Larry's doing hardware (again)<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgV8TPAdlZbJlDH6x40I6sDeg3RKBUoEoRhrh9SrzNDU4I3FWYy83QVzBFceRNP6ZEwKWhIsvsvkfjeVv6Uk7f9kvMG0CUKD0n9dpwfW8SneSzuKYNpwqmib5GWWv7e3yCUJf4p4bXcmiI/s1600-h/hardware.JPG"><img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 309px; height: 318px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgV8TPAdlZbJlDH6x40I6sDeg3RKBUoEoRhrh9SrzNDU4I3FWYy83QVzBFceRNP6ZEwKWhIsvsvkfjeVv6Uk7f9kvMG0CUKD0n9dpwfW8SneSzuKYNpwqmib5GWWv7e3yCUJf4p4bXcmiI/s320/hardware.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5433684553837263970" /></a><br />Some 20 years ago Larry introduced the first hardware appliance with Oracle, the <a href="http://en.wikipedia.org/wiki/Network_computer">Network computer</a>, which was aimed at the customer market, to replace the fat clients. As history showed, that was not a very big succes. Even though is was visonair sight twenty years ahead of time, look at the popularity of netbooks (I write this blog for instance on my Asus EEE netbook with which I'm very happy with).<br /><br />In 2008 Oracle tried again hardware in joined cooperation with HP. The HP Oracle Exadata Server Grid and the Oracle HP Database machine was introduced. This hardware was not aimed at customers but at the high end back-end market. Data Warehouses larger then one Tera Byte get to the problem that the data traffic between the database and the storage server (for instance a SAN) slows down, there is a Data Bandwidth problem. The combined HP Oracle server reduces data going through the pipes, it passes query results and not data disk blocks. It has been tested at different sites with huge data loads, like Amazon, Yahoo and Telco's. In extreme data and processing situations this sounds like a good, and at first sight, cheaper solution. This machine is typically aimed at the large customer market, and therefore not sold in large amounts.<br /><br />The credo of Oracle is Complete, Open and Integrated. In order to fill in the white space around hardware Oracle finalized last week the deal with Sun, see <a href="http://www.oracle.com/us/sun/044498">Oracle-Sun strategy</a> for details. Oracle started some 30 years ago with developing their software on Sun software, so it's like a coming home experience. Oracle is aiming at selling solutions straight from the hardware factory, a machine containing hardware, operating system, database, middleware and applications aimed at a specific market. Oracle is starting with Telco-out-of-the-box. It sounds like an interesting experiment, but still this offer is aimed at the high end customer market. I hope the next move will be aiming at the more common market, selling out-of-the-box middleware or database box. If these machines can contain automatic updates of the database and or middleware, then I'll be happy.Léon Smiershttp://www.blogger.com/profile/10331525207139601452noreply@blogger.com0tag:blogger.com,1999:blog-4424531533797514302.post-40179175948031121772009-11-17T12:21:00.000-08:002009-11-17T12:35:37.456-08:00Oracle Business Process Management Suite, the best of both worlds<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEghmFQ2ZezG9zQQOwHLkQ9I3PLedPX9_2U59cl1KSWcJMchc9fbfwpKDjzYS1wUYCxjGEtTjVnTq1Y3QZPXOut5is4vDlw1hAkERuwGayTpEvI4AdFdUzPoRdkLI6pQqGENezJ9Wi1PwVQ/s1600/singa_expresso.JPG"><img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 320px; height: 258px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEghmFQ2ZezG9zQQOwHLkQ9I3PLedPX9_2U59cl1KSWcJMchc9fbfwpKDjzYS1wUYCxjGEtTjVnTq1Y3QZPXOut5is4vDlw1hAkERuwGayTpEvI4AdFdUzPoRdkLI6pQqGENezJ9Wi1PwVQ/s320/singa_expresso.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5405171315982631266" /></a><br />This is a joint effort post from the Dutch Capgemini Oracle Technology team Léon Smiers, Ruben Spekle and Arjan Kramer on Oracle Business Process Management Suite.<br /><br />Since the acquirement of BEA there has been a lot of discussion with clients around the topic of Business Processes Management or BPM. Oracle has now got two strategic components in this arena. Firstly the already existing component BPEL Process Manager (BPEL PM) in combination with the OEM-ed product Aris (Oracle BPA), and secondly the former BEA Aqualogic BPM product, now called Oracle BPM. On Oracle Open World, last October Oracle announced the unification of both products. What is the impact of this unification and when will this take place?<br /><br />Oracle placed BPEL PM in its stack with the acquirement of Collaxa some years ago. In the years after the BPEL PM product was enriched with adapter functionality and a Human Task component. BPEL PM is aimed at the more low level process integration which is also known as orchestration. Because of this, designing a BPEL application is a rather technical process. For Business Analysts BPEL is too technical. In order to fill the gap for designing Business processes Oracle OEM-ed Aris and enabled the creation of BPEL models based upon Aris Business Process models. Aris is the de facto standard in the market for Business Process Management Modeling, and contains a huge stack of reference (industry) models.<br /><br />In BPM creating Workflows is much easier, a Business Analyst models all the processes and creates the lines in between the process steps, based upon which run time components are created automatically. It is a complete framework for creating workflow type of applications. Besides the ease of creation of the workflow processes, BPM is very strong in the build-in mechanism for simulating processes. The designer (Business Analyst) sets timings for each step in the process and can simulate the process. Based on this simulation bottlenecks, like human tasks or asynchronous services can be easily spotted already in a design time stage, without even involving real services yet. During the runtime of a business process, audit information is captured and can be fed back to the process to be able to tune the process based on runtime information as well. This means a real roundtrip lifecycle for business processes. A third strong point is the versioning capability of components (processes, variables) within BPM which allow current versions to run in parallel. Oracle BPM hasn’t (yet) got as many adapters as BPEL, but integration with the use of Web Services works very well.<br /><br />On Oracle Open World (October 2009), Oracle announced BPM, BPEL PM and Human Tasks will be moved into one Business Process Management Suite. During OOW there were possibilities to get hands-on with this new stack which looked really promising, the same excellent process definition functionality BEA Aqualogic BPM users were used to, extended with integration with BPEL, Human Tasks and other service components all combined in one single stack. In this process of unification predominately the BPM part will be changed. BPM will be based upon the BPMN 2.0 standard, the design time moves towards to both JDeveloper (the implementation part) and the Browser (Design time) and the run time will be based upon a shared runtime environment with BPEL PM. The BPEL PM product on the other hand stays rather untouched in the unification process. <br />In this architecture BPM, BPEL, Human Tasks and Aris support the following functionality:<br /><br />BPM supports the Choreography type of functionality, and is more aimed at Business Analysts.<br />BPEL PM supports Orchestration, low level process integration, and is more aimed at technical people.<br />Human Tasks support the workflow component of a process, whether this is started from within BPM or BPEL PM.<br />Aris is used by Enterprise Architects and Business Analysts on a high level.<br />Unfortunately Oracle does not provide any dates when a version will be released and what functionality it will contain, but we can be convident that it will be available somewhere in the first half of 2010. In the meantime we still can use both separate Process Management solutions, with a preference for the BPEL over BPM, because of expected minor migration complexities towards future releases.<br /><br />Léon Smiers is Oracle Solution Architect at Capgemini, you can follow him on <a href="http://twitter.com/leonsmiers">Twitter</a><br />Arjan Kramer is leading an Expert group of Java based Integration Technologists and is thoughtleader on Oracle Fusion Middleware at Capgemini. Follow his thoughts on <a href="http://twitter.com/arjankramer">Twitter</a><br />Ruben Spekle is Oracle Solution Architect within Capgemini, you can follow him on <a href="http://twitter.com/ruben_spekle">Twitter</a><br /><br />Soon to be posted on the <a href="http://www.capgemini.com/technology-blog/">Capping IT Off blog </a>Léon Smiershttp://www.blogger.com/profile/10331525207139601452noreply@blogger.com2tag:blogger.com,1999:blog-4424531533797514302.post-70254434414896452122009-08-24T11:13:00.000-07:002009-08-24T11:43:15.846-07:00Composing applications like Lego, SCA in a nutshell<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj1a2WGcIYn2xG3Hp7eLJcxefwtZZK8GIEt9Q8Cz5Wy4a1vdnjlv5Qrzki8qF-fEmQuG-g0_suxPZmXEPAHCAv4VF-5_4y6ez6ouMvgYQlylYREUHT_LvfDcvTnVVNbgcsKUkhy6aA_E1Y/s1600-h/lego2.JPG"><img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 286px; height: 320px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj1a2WGcIYn2xG3Hp7eLJcxefwtZZK8GIEt9Q8Cz5Wy4a1vdnjlv5Qrzki8qF-fEmQuG-g0_suxPZmXEPAHCAv4VF-5_4y6ez6ouMvgYQlylYREUHT_LvfDcvTnVVNbgcsKUkhy6aA_E1Y/s320/lego2.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5373600990267034370" /></a><br />Composition is all about combining functionalities exposed from different sources. Up until now SOA hasn't brought us the salvation of combining functionalities from disparate sources. There may be help on the way. Service Component Architecture or SCA offers a simple application model for wiring all functionality together.<br /><br />Composition is about combining functionalities exposed within an application or from external sources. How is this implemented in programming languages:<br /><span style="font-style:italic;">Combining functionality within an application</span> is standard practice in languages such as Java and .Net. The functionalities exposed and reused are fine grained, there lots of calls between objects and the communication is based upon a method type of call. <br /><span style="font-style:italic;">Remote invocations in the same language</span>, from outside the applications, is hard to implement, it is error prone and mostly a lot of time is lost due to all connection and protocol complexity. <br /><span style="font-style:italic;">Crossing the border in a mutiple language environment</span> calls for the SOA neutral language approach, typically done with Web Services. The usage model of a SOA type of call is completely different then in the case of combining functionality within an application. The exposed and reused functionalities are coarse grained, mostly the amount of calls between services is low and communication is based upon a document type of call. The implementation of Web Service invocation and handling, even though standard frameworks exists are still time consuming and all the error handling needs to take place within the application. <br />The complexity gets harder when the same service needs to be exposed with <span style="font-style:italic;">multiple communication protocols</span>. Making a unified communication model based upon Web Services is unfortunately not the answer, due to the different usage model of the SOA and low level application type of calls. Web Services used for low level application calls, for instance, are killing for performance.<br /><br />Service Component Architecture (SCA) offers an implementation model for combing functionality, from internal and external sources, into composites. It offers an environment which takes care of all the communication, or wiring, between the services. SCA is limited to combining application or data logic but is not aimed at the presention layer and the data persistency layer. SCA is a standard defined by the <a href="http://osoa.org/display/Main/Service+Component+Architecture+Home">OSOA</a> organization, and is backed up by the vendors IBM, SAP, Oracle (inclusing BEA), Iona and Sun.<br /><br />Without going into detail here a short summary of SCA.<br />SCA provides four basis building blocks, <span style="font-style:italic;">Services</span>, <span style="font-style:italic;">Components</span>, <span style="font-style:italic;">Composites</span> and <span style="font-style:italic;">Domain</span>. <br />Service, Components and Composites are part of SCA Design Time environment, the Domain is the SCA run time environment.<br />The basic building block is the <span style="font-style:italic;">Component</span>, this holds and implements functionality, which can be exposed via <span style="font-style:italic;">Services</span>. SCA does not deal with with the programming part of the component, it only handles combining functionality together. The only thing which a developer needs to do is state in the component (for instance a Java Class) that at a certain point in the application external functionality is needed, this can be done via a Reference name added as an Annotation in the application.<br />The <span style="font-style:italic;">Composite</span> is a virtual container (just an XML file) where Components are defined and wired together. Policies can be added to Components when specific requirements on the usage or communication are needed, for instance security or reliability. <br />SCA enables building applications easily just like combining Lego blocks. Components can be combined into composite. Composites can be reused into new composites. But be aware that the the chain is as strong as its weakest link. If anywhere in the composite there is component that is badly tuned, it affects the composite as a whole. Composites should therefore be accompanied by SLA's, what is expected of the Composite. <br />The run time environment of SCA is the <span style="font-style:italic;">Domain</span>. Multiple composites can be contained into the Domain. The Domain takes care of all the communication handling and the policies. In contrast to the SOA principle of being vendor neutral, a Domain is based upon one language. This is based upon one of the lessons learned from SOA, that vendor neutrality for fine grained services is overkill from a design perspective and on run time can be resource intensive which can cause performance problems.<br />SCA uses a very pragmatic approach, when services and clients are written in the same language, there is no need for a language neutral representation. SCA handles all the communications between the objects, or wiring, in a way that is best suited for the language and the environment. When dealing in a hybrid distributed environment the communication is handled via Web Services.<br /><br />What are typical use cases for SCA<br />(1) Data composites, in a SCA Data Composite, data coming from different locations can be combined into one composite and the composite returns the combined set. <br />(2) Application functionality Composite<br />(3) Process composites<br /><br />SCA will be able to fullfill the promise of SOA as long as the basic principle, simplicity, will be preserved.Léon Smiershttp://www.blogger.com/profile/10331525207139601452noreply@blogger.com0tag:blogger.com,1999:blog-4424531533797514302.post-62351291352048735632009-07-12T08:05:00.001-07:002009-07-12T08:13:01.959-07:00The risks of the SOA EDA promise, a collapse of the power grid of applications<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi3YJm0EpUlJRlOrs9GVEhtKjiKtMPgIwvg-cZkoPxa_Qhyrcr6ajiI7rjLTqFxSoWDI8VZHpUVGGgiazoA_PTos8wedLclcL7qcqBAd6yMPxW0oYmHFOfMhOqdoZKj44VY9LIIsLxZEJ4/s1600-h/power.JPG"><img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 320px; height: 278px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi3YJm0EpUlJRlOrs9GVEhtKjiKtMPgIwvg-cZkoPxa_Qhyrcr6ajiI7rjLTqFxSoWDI8VZHpUVGGgiazoA_PTos8wedLclcL7qcqBAd6yMPxW0oYmHFOfMhOqdoZKj44VY9LIIsLxZEJ4/s320/power.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5357591212521138914" /></a><br />Looking at history, where networks are created and can collapse, we need to learn in IT what the risk are of our attempts to unite the IT landscape with Service Orientation (SOA) and Event Driven Architecture (EDA). Examples in the financial world and the utility market should be a warning for IT of what could hit us. This calls for craftmanship of people in our profession who have the ability to look cross borders and control by means of Governance, in Design AND in Run time.<br /><br />One example of a collapsing network is the current ongoing <a href="http://en.wikipedia.org/wiki/Subprime_mortgage_crisis">subprime mortgage crisis</a> which still creates waves of unemployments, closing of companies an costing a lot of money. It is caused by globalization of the financial world, a would be believe that house prices would never go down, the growing dependancies of markets and the lack of control. At one point is became clear that the fundament of the economic rise, the ever increasing house price, was not a certainty anymore, and the network collapsed.<br /><br />Another example is in the utility market. On august 14th, 2003 a disruption of the energy grid caused a <a href="http://en.wikipedia.org/wiki/Northeast_Blackout_of_2003">blackout</a> in the North Eastern part of the US and Canada, and hit 10M people. It started as massive power fluctuation in New York state and, in no time, affected all the areas. Here one flaw in one part of the energy grid caused the collapse of a very large part of the energy grid.<br /><br />In IT we come from silo based architectures, every functionality (or set of functionalities) is contained in one silo, which may have integration points with other parts in the enterprise but stands essentially on its own. When one of these silos goes down it can cause a major problem for the enterprise, loss of sales, the going down of an essential production process, and in the end money and reputation damage. But at this point, it would NOT cause a cascading domino effect on other systems or enterprises. The promise of the SOA and EDA is the network of applications where everything can be connected and reused. Especially the reuse part can be the risk part, reuse with no insight in the relations can cause Single Points of Failures.<br /><br />We are creating the power grid of applications for the future, that makes us responsible for making the right choices now.<br />One of these choices is to know the dependancies of the system components, for both in Design and in Run time. <br />At Design time, we need to be able to quickly identify all the dependencies in our landscape. This includes both the application types like custom build (based upon all types of technologies), package based, legacy and integration components. With the ultimate wish to be able to create an impact analysis list based upon all the touched components with just one push one the button. Another decision which is made at Design time, is whether we´d like to reuse an existing component, elsewhere in the enterprise landscape or even outside, and what the impact is if that (reused) component goes down. Based on that risk analysis we can decide whether to reuse that component or build it ourselves.<br />At Run time we need to have insight in the inter relations between all deployed components, and identify possible risk areas, for instance a service which is used by an ever increasing amount of applications. <br /><br />Where should we start? In most environments people start of with Excel sheets, which in no time are not usable anymore because of the complexity, which calls for the need for proper Governance tooling (or at the basis a dependancy tracking tool). When you start with a Governance tool the environment is, of course, empty. Loading all the components and dependancies in your environment is time consuming and costly. This is the major problem why dependancy tracking tool, (SOA) Governance tools and Service Repositories are hard to start with in enterprises. The Business case at start is way too costly, even though we all know that on the long term it is essential for getting a grip on you IT environment. A diffentiator in this market will be the option to load an existing environment into the dependancy tracking tool repository.Léon Smiershttp://www.blogger.com/profile/10331525207139601452noreply@blogger.com2tag:blogger.com,1999:blog-4424531533797514302.post-39499419273035798842009-06-12T06:05:00.000-07:002009-06-12T06:20:08.746-07:00The last piece of the process integration puzzle, looking at the UI part<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjR9NnJgfbZMzSZ3q3KnEhU183wSdXUX1_ba0CAz_TR_AmxwOBI_8WrGaWp_d6gc0Nq1nzJ7Ek9J4nuNYMA_4JZpWpzc1ilN4OoI0Jx1UNtpiw9U73sTwSuRrMnObPyUApFiCgNR-N7l9k/s1600-h/shopping-basket.PNG"><img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 240px; height: 320px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjR9NnJgfbZMzSZ3q3KnEhU183wSdXUX1_ba0CAz_TR_AmxwOBI_8WrGaWp_d6gc0Nq1nzJ7Ek9J4nuNYMA_4JZpWpzc1ilN4OoI0Jx1UNtpiw9U73sTwSuRrMnObPyUApFiCgNR-N7l9k/s320/shopping-basket.PNG" border="0" alt=""id="BLOGGER_PHOTO_ID_5346429301481553586" /></a><br />Process integration is a subject that always comes back when you're defining a Software Architecture. There are different types of of Process integration, based upon integration partners involved, integration types, amount of users involved, connection type, length of the process etc. In the past loads of books have been written about process integration and a lot of patterns have been defined.<br />When looking at the Application to Application (A2A) and Human to Application (H2A) type of processes cross technology solutions have been defined in an XML type of language BPEL. BPEL is the conductor of a process and does call-outs to functionality by means of Web services and adapters to legacy systems. <br />The ease of functionality that BPEL offers for process integration however is not very usefull for a UI type of process like a close-out sequence of a book ordering process on the Web. These are typically hard-wired within UI frameworks, like in Java we do (or used to) in Struts or JSF. In these solutions there is no flexibity or reuse. Rearranging a UI process requires rework and redeployment, and on avarage there's not so much reuse of UI process components. When looking at a SOA perspective, you'd like to reuse (groups of) pages and handle them as services in order to create composite applications.<br />There is some movement in this market. Oracle came up in de Fusion Middleware 11 version with a UI Taskflow mechanism.<br />The basis for the Oracle Solution is Java Server Faces, or JSF, and is called ADF Taskflows. Components in these Taskflows are complete pages (JSF), page fragments (parts of JSF), Java call-outs and the most important one, the Taskflow definition. This Taskflow definition resembles the BPEL type of working, and is conductor using for handling a process from a UI perspective. It uses a plain XML file referencing all the needed components, or services. <br />Two types of Taskflow exist, the unbounded and the bounded taskflows.<br />Unbounded taskflows are just a predefined set of pages used to complete a task, this taskflow can be entered from all pages within the taskflow.<br />The Bounded taskflow acts more like a Service, only entry one entry point exists and zero or more exit points which can result in an output result. The inner behavior is 'private' and cannot be changed or interfered by the outside world. <br />Bounded taskflows are the most neat ones, I've been searching for these for quite some time now. Finally the possibility to reuse a group of pages within a new composite. <br />I hope the market picks up this initiative and creates a cross technology integration language for UI based process integration, just like we have now with BPEL.<br />For more information see<br /><small><br /><li><a href="http://www.oracle.com/technology/products/adf/index.html">Oracle Application Development Framework ADF</a><br /><li><a href="http://download.oracle.com/docs/cd/E12839_01/web.1111/b31974/partpage3.htm#BABHIIAI">Fusion Developer's Guide for Oracle, Part III Creating ADF Task Flows</a> <br /><li><a href="http://andrejusb.blogspot.com/2007/12/jdeveloper-11g-and-adf-task-flow.html">Nice example pages</a><br /></small>Léon Smiershttp://www.blogger.com/profile/10331525207139601452noreply@blogger.com0tag:blogger.com,1999:blog-4424531533797514302.post-58383622885130411982009-05-17T10:03:00.001-07:002009-05-17T10:10:41.189-07:00The cost of dead code<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgkjvopIa9mY3jsWM89Ez0xh3a5NaN6h5jT0ItboaOns3F6_7dzsPdD3spSrm-l6MF5Z4BRxlm7BCuvzLp1MCKn6om8xYDPyGBbd9PLcv_63hqsO-olm_MuzEOdys3WMpvI1twEC273FBo/s1600-h/rotzooi2.jpg"><img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 320px; height: 214px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgkjvopIa9mY3jsWM89Ez0xh3a5NaN6h5jT0ItboaOns3F6_7dzsPdD3spSrm-l6MF5Z4BRxlm7BCuvzLp1MCKn6om8xYDPyGBbd9PLcv_63hqsO-olm_MuzEOdys3WMpvI1twEC273FBo/s320/rotzooi2.jpg" border="0" alt="Taken from site of Brabants Dagblad until I make a better picture myself http://bit.ly/FiSsp" id="BLOGGER_PHOTO_ID_5336839749436087058" /></a><br />Once in a while I see this situation on the street. Thrash alinged around a garbage bin, somebody did an attempt to trow away his thrash but was too lazy to finish the job. 'Close but no cigar', so somebody else has got to finish the job, which in essence costs energy (and money).<br />In my job as a Software Architect I come across this behavior also a lot of times. Once in a while I've got to dust off an old application and investigate what the possibilities are for modernization or revitalization. Modernization ot revitalization comes down to, what can we do the extend the lifetime of an application for a couple of years more, and also be able to add agility, stability and new or changed business requirements to the application. It also helps identifying the roadmap for the future of the application. To make the roadmap for modernization there is a list of things to investigate, size of the application, the context in the application, complexity of the code, (future) business needs but also the amount of ´dead code´ in the application. <br />What is dead code? At one point in the history of the application functionality was removed or changed, but the actual code itself is still available in the application. For instance, a procedure which is not called anywhere in the application, a page which is removed from the menu, old functionality which is commented out, database objects that are not used anymore but still contain data etc etc. What you see here is scared or lazy behavior, scared as in 'I'm not sure if I removed or changed the right code', lazy as in 'I don't want to spend too much time'. The result is that the application is becoming like a jungle, you get lost in the dead wood. Making a change is getting more and more costly as a result of the increasing dead code. So let's change our behavior in the maintance phase, if functionality is not needed anymore just throw it away, like you would do with thrash in a garbage bin. When a proper versioning system is set up, you always can find the history back.Léon Smiershttp://www.blogger.com/profile/10331525207139601452noreply@blogger.com0tag:blogger.com,1999:blog-4424531533797514302.post-68625477588871077802009-04-27T13:25:00.001-07:002009-06-07T04:00:33.797-07:00The seven challenges for Oracle<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgES2C0NRw5CGbgp1U8WCLLxty9A92zajyG-lO9osH0GtFoLeKVgZT-rHgNCTFTF4C0yQDyV493ARJwvxX43VHHDLkbVnCddiH20j80DSHQ4dRtISlM7yxbcf7y1guTasMrWX6K-NEtltI/s1600-h/signpost.JPG"><img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 320px; height: 200px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgES2C0NRw5CGbgp1U8WCLLxty9A92zajyG-lO9osH0GtFoLeKVgZT-rHgNCTFTF4C0yQDyV493ARJwvxX43VHHDLkbVnCddiH20j80DSHQ4dRtISlM7yxbcf7y1guTasMrWX6K-NEtltI/s320/signpost.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5329782160108142146" /></a><br /><br />Oracle is moving towards the biggest provider of all software in the market, by means of smart acquisitions and a simple aim what they want. The aim of Oracle is to be bigger than SAP and IBM. I identify seven major challenges for Oracle the coming years. All challenges need to be guided by a sound roadmap towards the future. <br /><br />What are the challenges for Oracle (and therefore also for Oracle partners and clients) the coming years:<br />(1) Integration of all products<br />Of course this is a no-brainer, and is a tough job. The roadmap helps in identifying integration points between the products to be integrated and still enabling growth for these individual products in parallel.<br /><br />(2) Offering a roadmap towards the future<br />Last year, at the first of Juli, Oracle presented the acquisition of BEA with an excellent webcast, showing the preferred product stack for the future. Also included was a roadmap for the 100 days following the webcast which contained integration of some major BEA components into the Oracle stack. The 11 version of the technology stack would be a new milestone in the Oracle technology stack, but still is not in production and not clear what the choices are. <br />What I'm missing now is a decent roadmap for the future. Being a solution/software architect I need to know what is happening the coming years with a product stack when I propose a solution to one of my clients. This roadmap should contain product information, timelines and migration strategies for keeping track with the technology stack. Important is that the roadmap should not start from today, but also contain all 'old school' products of Oracle. <br /><br />(3) Keep the 'old' Oracle customers on board<br />The impact of this fast change is that all existing clients (for instance 65K Database clients in EMEA only) see Oracle speeding away over the horizon. With the help of the roadmap we can help them move in a controlled pace towards the future, and not only for technology sake, but adding business value to their landscape. <br />Oracle should invest in migration tools helping the customers move towards the new technology stack. And not, as I've heard a product manager say, well open the 'old' and 'new' environment on two separate PC's and start typing... ;)<br /><br />(4) Challenging other database products<br />Oracle is the market leader in the database area. This area however is getting commoditized more and more. Electricity was once a specialized product, but now you just get it 'out of the wall'. Speed, stability, availability and storage costs are an issue in the Database market, not extra functionality anymore. Since software is slower then hardware maybe Oracle should create hardware based Databases, on the new acquired Sun systems, with extreme speed and cheap in price. Another option would be offering the Database available in a Cloud.<br /><br />(5) Challenging Open Source<br />In the Open Source market, more and more products are standardized and growing in experience. Products like MySQL and JBoss have the potential to be used in all types of core applications. One of the biggest advantages Oracle has over Open Source is that they can provide support and the likelihood that they will keep on existing during the lifetime of an application, and longer. Again here the roadmap is essential in providing information to clients when (not to) choose for Open Source.<br /><br />(6) Challenging IBM<br />There's one thing where IBM beats Oracle, and that's architecture. IBM however has also the same problem as Oracle with their technology stack. They've got an extensive product stack with, not always, the best alignment among product components.<br />Oracle has got the opportunity to shape out a new landscape that is based upon a strong architectural base and is in complete alignment. The roadmaps shows the speed of shaping out this new architecture. <br /><br />(7) Challenging SAP<br />SAP beats Oracle with Industry solutions. But with the introduction and work with the Oracle Application Integration Architecture (AIA) Oracle catches up with SAP. Oracle asks partners and clients helping with creating new AIA industry patterns. Here the roadmap can show the speed of development of patterns across industries. Advantage of Oracle over SAP in this arena is the momentum of development of the new patterns. SAP is struggling now with implementation of their SOA strategy and wether the choice of Java in their environment was a good one.<br /><br />Of course Oracle can't do this on their own, but with the help of partners and clients we can come a good way, by helping creating a sound roadmap which will lead us the coming years in the Oracle world.<br /><br />Thanks to <a href="http://www.fandefu.com/site/">Joost van der Vlies</a> and <a href="http://www.spekle.com/rsfm/">Ruben Spekle</a>Léon Smiershttp://www.blogger.com/profile/10331525207139601452noreply@blogger.com0tag:blogger.com,1999:blog-4424531533797514302.post-91835288217759651092009-04-15T04:16:00.000-07:002009-04-15T04:39:20.397-07:00The four ‘FIT’ factors, making a Business Case for Open Source and Vendor products<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhQr9ADh38ZxjbHfWhef1qD0HgGyrf4Cfiq6nTEjaAVD1FDPmrVp4vw2woTszH8R7NWyA7vz-mlL6xDcaMrLfE6naQvNR334rkapt1A_o8kMfydbi7PPOhxO_ok57ujnfVnZ94ro_8fZzg/s1600-h/lockin.jpg"><img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 320px; height: 236px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhQr9ADh38ZxjbHfWhef1qD0HgGyrf4Cfiq6nTEjaAVD1FDPmrVp4vw2woTszH8R7NWyA7vz-mlL6xDcaMrLfE6naQvNR334rkapt1A_o8kMfydbi7PPOhxO_ok57ujnfVnZ94ro_8fZzg/s320/lockin.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5324875813838384834" /></a><br />Open source is hot in the market. It is free and you don't have vendor lock-in. True, a landscape based upon 100% dependency on one vendor can cause situations where your business wishes are not in agreement with the architectural possibilities (or pricing strategy…) of the vendor products. So are we better off with Open Source, where unlimited developers seem to be working day and night? As always is the answer, it depends...<br />So how can we decide whether to choose for Open Source or Vendor based technology?. This can be based on four ‘FIT’ factors: Functionality, Technology, Pricing and Support.<br /> <br />First of all, the <span style="font-style:italic;"><span style="font-weight:bold;">Functionality </span></span>fit has to be determined. Fit for functionality is the acceptance factor of the end users. Ability of the technology to (rapidly) adapt to functional changes also has to be checked. And the expected life time of the needed application has to be determined. How well can the needed functionality be mapped on the features of the software.<br /> <br />Then looking at the <span style="font-style:italic;"><span style="font-weight:bold;">Technology</span></span>. What is the needed stability of the application (this is related to support). What is the track record of the technology in this area. How easy can new technology be added to the stack and combined with other components. How much knowledge is available in the market. How open is the technology. How proven is this technology.<br /> <br /><span style="font-style:italic;"><span style="font-weight:bold;">Pricing </span></span>is of course also an important component. The pricing component not only consists of license- and support fees, but also development costs, and needed personnel after go-live to support the application. <br /> <br /><span style="font-style:italic;"><span style="font-weight:bold;">Support </span></span>requirements differ according to the type of application and it’s usage. This may range from an FAQ list, 24*7 help line all the way to immediate on-site support. In case of open source you should get an idea of the group developers that does updates, otherwise you may get stuck with the functionality you have.<br /><br />What is the Business Case for Open Source <br /><span style="font-style:italic;"><span style="font-weight:bold;">Functionality</span></span><br /> + Fast delivery of add-ons and new functionality by developers community<br /> - No timelines for new functionality<br /><span style="font-style:italic;"><span style="font-weight:bold;">Technology</span></span><br /> + Push from new technology (enables new functionality)<br /> +/- Will it still exist at the expected end-of-lifetime of the needed functionality?<br /> +/- Code set of Open Source can be changed by Development team, what is the risk for the future and ability to upgrade?<br /><span style="font-style:italic;"><span style="font-weight:bold;">Pricing</span></span><br /> + No license fees<br /> - Costs involved for keeping team of developers available for support<br /><span style="font-style:italic;"><span style="font-weight:bold;">Support</span></span><br /> + A lot of independent developers are working on the source set <br /> - In case of emergency, who to call<br /> - Dependency on the developers after go-live (developers lock-in....)<br /> - No official support<br /> <br />And the Business Case for Vendor based technology<br /><span style="font-style:italic;"><span style="font-weight:bold;">Functionality</span></span><br /> + Track record of core functionality<br /> + Timelines for new functionality<br /> + Industry solutions implemented<br /> - Marketing and sales strategy may have a higher priority than functional and technical developments<br /> - Speed of development on new areas<br /><span style="font-style:italic;"><span style="font-weight:bold;">Technology</span></span><br /> + Transactional stability (proven)<br /> + Track record of core functionality<br /> +/- The role in the ecosystem as a provider of stable out-of-the-box systems is sometimes forgotten ?<br /> +/- How well does the vendor do with regards to upgrades to newer versions/technologies?<br /><span style="font-style:italic;"><span style="font-weight:bold;">Pricing</span></span><br /> - License and support costs<br /> + A good fit between functionality and Vendor based technology / Industry solution can results in lower implementation costs <br /><span style="font-style:italic;"><span style="font-weight:bold;">Support</span></span><br /> + High level of support possible<br /> <br />So depending on the needs of the system, the four 'fit' factors Functionality, Technology, Pricing and Support make the case for Open Source or Vendor Based technology. Any suggestions are always welcome!<br /><br />Written with Joost van der Vlies, thanks to Ruben SpekleLéon Smiershttp://www.blogger.com/profile/10331525207139601452noreply@blogger.com0tag:blogger.com,1999:blog-4424531533797514302.post-83340146110906178812009-03-24T12:11:00.001-07:002009-03-25T01:28:17.540-07:00Oracle Coherence experiences from the field<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiwaiYbY6LsDbps_RBrEnDYJI2WvqaerebQUu9O18ujfVYnIAerGnUqp56BrUwo7lMSDZX9taY_1GnRTDIST0OoxHCCFZACRRoMiWigOduk-s3TbSlOSRoAQ7LorQUp4AyCgp7Zp-KN7Ms/s1600-h/wild-bees.jpg"><img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 320px; height: 191px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiwaiYbY6LsDbps_RBrEnDYJI2WvqaerebQUu9O18ujfVYnIAerGnUqp56BrUwo7lMSDZX9taY_1GnRTDIST0OoxHCCFZACRRoMiWigOduk-s3TbSlOSRoAQ7LorQUp4AyCgp7Zp-KN7Ms/s320/wild-bees.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5316834262938195970" /></a><br />Last week I had a small conversation about Oracle Coherence on Twitter (#OraCohMDM). Here a more in depth description about the experience we've got with this product. Last year we came across a couple of projects which were an excellent case for the usage of a grid database based on the middle tier. <br /><br />The first case was about <span style="font-style:italic;">processing bulk data</span> in a small timeframe. Every minute some 150MB XML data was delivered (zipped) to our application by a Web Service. The requirement was that the data needed to be processed within 20 seconds and selected parts of the data needed to be send to to a bunch of subsribers. The architecture should be scalable for consumers and data load. For history reasons all the data needed to be stored in a database.<br /><br />The second case could be described a having a <span style="font-style:italic;">high CIA constraint</span> (Confidentiality, Integrity and Availablity). Multiple providers send data via Web Service, the messages were, contrary to the first case, small in size. The amount of messages however is very much higher, some 10-100 messages per second.<br /><br />Since we know that (Oracle) databases are known to be stable, why can't we implement this with the help of a database? The answer is simple, there is a performance bottleneck between the middle tier and the database. In 'normal' situation, when dealing with for instance a web Based transaction application, the JDBC connection is able to do it's work properly. But when faced upon a situation with high data volume or high message volume, JDBC is clogging up. So how does a Grid database does a better job? Elements of success for a Grid database are the ability to scale up and down easiliy and minimize the risk of loosing data when for instance a server goes down. Preferrably there should be no master of the grid, all grid elements are equal. Simply put the Grid works as follows. A Grid is a series of interconnected nodes, which communicate via an optimized network protocol. Every Grid element has knowledge of the grid, what kind of work to do and the existence of their neighbours, just like bees in a beehive. When a new data object is entered in the Grid one Grid node takes responsibility and contacts another Grid node to be it's backup (preferably a node on another server). When a new node enters the grid, it communicates some sort of "Hello, I'm here", just like when you enter a party. All grid nodes start communicating with the new node, and (some) data is redistributed across the grid. This in order to minimize loss of data. When a node leaves the grid and again the (some) data is redistributed, this to avoid that a Data Object is only available on one node. <br />Oracle obtained Coherence (Tangosol) in 2007 because of it's excellent middle tier Grid capabilities. We've performed tests with Oracle Coherence in different hardware and network configurations. Our tests have shown that Coherence nearly scales linearly, with an optimum of around one node (or JVM) per CPU core. The addition of the JRockit JVM even removes further a smart part of the performance.<br /><br />So how do you start with Oracle Coherence. Coherence is Java based, so a good knowledge of Java is essential. The data structure is stored as key/value pairs in maps (comparable to the Database tables). On each map a Listener can be placed, so an object change results into an event. By adding Object-Relational mapping (for instance with TopLink) you can percolate the newly added data into the database, or load the data from the database. By adding expiration time to the data within Coherence, you don't have to clean up your data.<br /><br />Where to get more information<br /><br />- <a href="http://www.soapatterns.org/service_grid.asp">SOA Patterns, deferred service state</a><br />- <a href="http://www.oracle.com/technology/products/coherence/index.html">Oracle Coherence</a><br />- <a href="http://coherence.oracle.com/display/INCUBATOR/Home">Oracle Coherence Incubator</a><br /><br /><br />Thanks to Oracle PTS (especially Flavius Sana & Kevin Li)Léon Smiershttp://www.blogger.com/profile/10331525207139601452noreply@blogger.com0tag:blogger.com,1999:blog-4424531533797514302.post-77453036103293797942009-03-10T04:54:00.000-07:002009-03-10T04:56:58.571-07:00Cross domain Business Rules, who has got ideas?<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgOH7-JTwiEWm9pUK0WM0xrFpasd302jf8B70Gr69woYbUHPzWLLfpsZnuSRLy-OelGqgdThaBZi2BRX2vcJFxG6wGrpOuSJ6Jw2TWPHBCXt3kDWqV6YYhBY8CiBNCWARNwi32DbOJ5whg/s1600-h/Warning.JPG"><img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 167px; height: 320px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgOH7-JTwiEWm9pUK0WM0xrFpasd302jf8B70Gr69woYbUHPzWLLfpsZnuSRLy-OelGqgdThaBZi2BRX2vcJFxG6wGrpOuSJ6Jw2TWPHBCXt3kDWqV6YYhBY8CiBNCWARNwi32DbOJ5whg/s320/Warning.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5311526712145136930" /></a><br />We are moving away from a single application landscape towards a more distributed service oriented landscape. This has impact on the way we have to deal with Data Integrity. In the 'old days' we were confined to one dataset, in which we could check our data integrity by means of simple programming with triggers and constraints, or the addition of a Business Rule Engine which is bound to the datamodel. The only discussion we had was about the place where rules were checked (in the screen or in the database).<br />I am currently doing (nice) work for a company where they are moving away from their ‘single application’ back-offices (one being <a href="http://www.ness.com/GlobalNess/Solutions+and+Services/Proprietary+And+TurnKey+Solutions/Introducing+Usoft.htm">USoft</a>, a Dutch company which used to be known as the Business Rule company) towards a Service Oriented environment. The landscape is going to be separated in domains, based upon ownership of the different functionalities.<br />Business Rule thinking is part of my clients DNA, so we really have to define a thorough solution when validating rules across domains. <br />The rules of engagement are<br />-Domains are independent<br />-Transactions executed in one system may not be hindered by restrictions defined in another system<br />-Business rules are defined and owned by the domains. These rules can be used across domains, but are always started by the domain who owns the rule.<br /><br />How do we deal with cross domain Business Rules?<br />Consider for instance two domains, Relation and Education. Within the Education domain we have a business rule 'An active education can only be connected to an active relation'. It is the responsibility of the Education domain to uphold this rule. When the relation is de-activated within the Relation domain, this is allowed, since the Relation domain is not responsible for the Education domain. So at this point in time we have an invalid situation. <br />How to deal with this? <br />We could agree that the Relation domain sends information about the de-activation to a central messaging mechanism where other domains can subscribe for these type of messages (i.e. the Education domain). The Education domain is then responsible for taking actions in order to create a valid situation. This could be the closing of the Education belonging to the Relation. Part of the Governance of the Education domain is then that periodically should be checked if open educations exist which belong to closed relations. This to be sure that invalid situations have occurred and the subscription mechanism did not work right. <br />The ease of checking our Business Rules and uphold the data integrity in a single application environment is gone in the distributed service oriented world. Who has got experiences/ideas how to deal with the cross domain validation problem?Léon Smiershttp://www.blogger.com/profile/10331525207139601452noreply@blogger.com0tag:blogger.com,1999:blog-4424531533797514302.post-43879234616407547562009-02-26T12:38:00.000-08:002009-03-24T12:29:00.334-07:00Ever had the feeling that you are an Information Archaeologist?<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi03TYUJYfmRewHRoKgQ7ns0DRpEfNTe5InUNuyN8O_CCdvcmpYa-l7Ltt6hqOucLYCdBdqikev486vh9oCbOsTAgT3g-Tv-ZEjVx33_-10Vi_lfH9F8oQE9SDdEfFBmwx2zSg0Lvmwljw/s1600-h/pipeAMS17Century.JPG"><img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 320px; height: 238px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi03TYUJYfmRewHRoKgQ7ns0DRpEfNTe5InUNuyN8O_CCdvcmpYa-l7Ltt6hqOucLYCdBdqikev486vh9oCbOsTAgT3g-Tv-ZEjVx33_-10Vi_lfH9F8oQE9SDdEfFBmwx2zSg0Lvmwljw/s320/pipeAMS17Century.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5307209173318938738" /></a><br />How many times do you have to find out what the functionality of a systems is and what the data means? A lot of times you come to the conclusion that the documentation is not sufficient or (most of the times) not available, and that the people who've build the system are long gone. The only thing that remains is "The Code is the Documentation". Well then you end up in what used to be so neatly called 'reverse engineering'. Actually what we are doing then is the modern form of Archeology. Scraping layer by layer of code, data and applications in order to understand the true meaning of the application landscape. The Software Archeology excercise is mostly done when we being asked to rebuild an old application into a new landscape. Most of the times we put developers to work who are trained in new technologies, but have got no clue whatsoever about the old technology in which the application is build. The result is that these teams are recreating over and over again the 'Stone of Rosette', or the key to translating the functionality from the code. We tend to forget that the system is not only build based upon functionality but also about what the technology enables and what the strenths and weaknesses are. So for instance the reason why procedural languages are used in heavy batch applications (performance....) only comes to live when the application is rebuild into an Object Oriented application, resulting in bad performance. So the AS-IS situation of a landscape, and all the reasoning behind it, is almost as (or even more) important then 'the Future state to be'. The roadmap towards the Future state to be is the task of a (Software) Architect who knows not only knows the 'New technologies' but has a strong background in the 'Old stuff' and all the reasoning behind it. Only then can we move towards a Stability Based Architecture (SBA).Léon Smiershttp://www.blogger.com/profile/10331525207139601452noreply@blogger.com0tag:blogger.com,1999:blog-4424531533797514302.post-34171894457766029392009-02-17T13:03:00.000-08:002009-03-24T12:28:22.830-07:00The Data Refinery<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEimzlf0GpvSIK_JJs9s2L7GPnWEqT71PBPlJekLCo78aF-hj3nIp8Pf20dDRxAKiE247xTaEHVgsgYgJoA17O8enqr52D2j-C5Wb8sM8eAainX8fpzn1_mOfrxxF8RM5HAArYbTna40ApE/s1600-h/Shell-Oil-Refinery-with-Mt-Baker-WA-Posters.jpg"><img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 320px; height: 240px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEimzlf0GpvSIK_JJs9s2L7GPnWEqT71PBPlJekLCo78aF-hj3nIp8Pf20dDRxAKiE247xTaEHVgsgYgJoA17O8enqr52D2j-C5Wb8sM8eAainX8fpzn1_mOfrxxF8RM5HAArYbTna40ApE/s320/Shell-Oil-Refinery-with-Mt-Baker-WA-Posters.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5303875932910110626" /></a><br />Two years ago I was involved in a RFID project in the logistics market in joint Capgemini and Oracle effort. Based upon the <a href="http://www.epcglobalinc.org/standards/epcis">EPCIS Architecture</a> we had to combine movement data of crates between different storage facilities and stores. Without going into details about the case, on the technology side the biggest challenge in RFID is in the huge amount of data and how to get data out which makes sense for a particular use case. We came up with a division of the life cycle of RFID data in three main segments (in discussion with Ard Jan Vethman) (1) In real time (within seconds), you want direct actions, a crate is entering a room where it is not supposed/expected to. (2) In short term (hours, days, weeks, depending on the business case), you want to perform actions based upon a condition based upon multiple measurements. for instance when a shipment of fresh food between a factory and a warehouse normally takes 4 hours, you want to send an an alert when the shipment takes a day. (3) In longer term (more then weeks), you want to see how your processes are optimized against the measurement which are received. You can look at this as a Data Refinery, bulk data is processed as it flows in (complex event processing), the result or residue is a high quality small subset of all the data which is entered, the exceptions from all that is ok. The residue is then used as events which can be send to a Business administrator and systems administrator. Oracle provides the following technologies which can be used for this functionality. For the longer term we've known BI for a long time. But what is provided in the real/short term. For the short term data Oracle Business Activity Monitoring (BAM) has now been around for some years, and provides excellent insight, as well as graphically as with alerts. For the real time processing we had to program the event processing ourselves, but recently Oracle came up with <a href=http://www.oracle.com/technology/products/event-driven-architecture/complex-event-processing.html>Complex Event Processing (CEP)</a> as a COTS product. This enables querying data on a data stream. Getting insight in a near real time data stream and do some cherry picking is still a new and under developed area and is an exciting area.Léon Smiershttp://www.blogger.com/profile/10331525207139601452noreply@blogger.com0tag:blogger.com,1999:blog-4424531533797514302.post-85762659441392937442009-02-09T11:06:00.000-08:002009-03-24T12:32:20.636-07:00Aim for Stability Based Architecture (SBA)<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhVj2WGPe9vyHcqVAiL9cCY1peXJGbXsuQEN3kc3ie7-1cjyZWRBAg0eTuExJ8OodWebi2T4VYFr6B_GKRT4F7VH-NQOfp4I6cTacEt2lnXyTAXQSCyX6LVri9uwlT4uo9SVN_Cteg1hfg/s1600-h/folded-rock.jpg"><img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 320px; height: 201px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhVj2WGPe9vyHcqVAiL9cCY1peXJGbXsuQEN3kc3ie7-1cjyZWRBAg0eTuExJ8OodWebi2T4VYFr6B_GKRT4F7VH-NQOfp4I6cTacEt2lnXyTAXQSCyX6LVri9uwlT4uo9SVN_Cteg1hfg/s320/folded-rock.jpg" border="0" alt=""id="BLOGGER_PHOTO_ID_5301518552099293586" /></a><br />Software Architecture is the art of translating Business needs into a suitable and working technical solution.<br />The same as in architecting and creating houses our sponsor expects that the product will be stable and last for quiete a time. Looking back in time we see that at the time of Cobol, applications were able to last more then 20 years (and even now exist, even after the retirement of their creators). But with the speed of new developments and the coming of hype driven development the application lifespan (or time that it gets outdated), is getting less and less. Java, among others, has got a bad reputation in this area, for instance Struts lasted some 2 to 3 years, after which you were the laugh of the year when you decided to choose Struts in your solution. SOA is another example, finally it paid of working with it, when somebody decided that SOA is dead and we have to run after the latest hype, Cloud computing. The half-time of a Software Architecture is getting shorter and shorter, and it happens too often that at the time of go-live we almost have to think about upgrading, because the version is almost outdated.<br /> I'd like to propose a new architecture type, Stability Based Architecture (SBA), in which we aim for stable (core of the) application and add an expected life-time of the application. The core of the application should be stable and last for a long time, just like rock under pressure, it folds but doesn't break. Only then can we justify the costs of implementation.Léon Smiershttp://www.blogger.com/profile/10331525207139601452noreply@blogger.com0tag:blogger.com,1999:blog-4424531533797514302.post-63351061406783701542009-01-26T12:41:00.000-08:002009-03-24T12:31:48.115-07:00The Return of Oracle Forms<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhGZ69uULkpfuOdxfe6HGAs28IDrLs8K00QdhoqJsKP-UutJ6H62uaetD8y1Rd5t5h9V1iqHdt5BibshXD7EGTqMsBuTZ_eKXC-MhnHJKga0qjl_XIXqTBBLN080PJe79aAa3gksluzL8w/s1600-h/stepping-stone.JPG"><img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 320px; height: 188px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhGZ69uULkpfuOdxfe6HGAs28IDrLs8K00QdhoqJsKP-UutJ6H62uaetD8y1Rd5t5h9V1iqHdt5BibshXD7EGTqMsBuTZ_eKXC-MhnHJKga0qjl_XIXqTBBLN080PJe79aAa3gksluzL8w/s320/stepping-stone.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5300875815298827298" /></a><br />The Return of Oracle Forms<br /><br />Oracle Forms has been around now for some 20 years, it looked like to get extinct over time, but the financial crisis might give it second chance.<br />Oracle Forms is a GUI used typically in transaction based applications for high volume data entry. Forms started of as a character based application in the 80ies, it evolved into a GUI client in the early 90ies and now can be deployed as a applet based application used within a browser. The basis of Oracle Forms hasn't changed much. A dedicated Forms process is connected to a Database. In the early days this Forms process was tightly connected to the GUI. In the current implementation the Form process is located on the Application Server and the GUI is located in a browser on the client. Big difference with a 'normal' Web Application is that the connection between the Forms Client and the Application Server is stateful whereas with a a 'normal' Web Application it is stateless. This articulates the type of usage, for every user a separate Forms Process will be started on the server, which consumes processing power and memory. In short, Forms is typically used by a known community, a Web Application can be used by an unknown community. When looking at application types, Oracle Forms is excellent for high volume data entry, and aligns with non functionals like minimal mouse usage etc. In terms of development effort Oracle Forms still is way more productive then any Java based application (roughly 4 hours per function point versus 8 hours).<br />A couple of years ago the statement was that Oracle Forms is outdated, but slowly it gets back in the picture of Oracle. <br />In The Netherlands we still have a large community of clients with (core) applications working on Oracle Forms (and not the latest version.....). So for those clients talking about SOA is shouting from over the horizon. And certainly in this financial climate new investments are hard to get. <br /><br />Currently the step towards SOA is too big (and expensive) for organizations, but revitalization of the core systems build based upon Forms will be a must the coming years. Forms can be used as stepping stone towards a SOA based architecture. Forms can nowadays be used as a channel service exposed in a Web Portal(see also <a href="http://www.oracle.com/technology/pub/articles/wilfred-adf-forms.html">ADF Forms</a>) and also can call out to (Web)services. And Oracle is investing again in Forms <a href="http://www.oracle.com/technology/products/forms/forms_modernization.html">Forms modernization</a>.<br /><br />So is Oracle Forms going to get a second chance?Léon Smiershttp://www.blogger.com/profile/10331525207139601452noreply@blogger.com0tag:blogger.com,1999:blog-4424531533797514302.post-51971103075605983042009-01-15T07:33:00.000-08:002009-03-24T12:30:07.169-07:00Desiging XML, reuse is nice but aim at usage first!Designing Data has been, for ages, the cornerstone for all applications. It relates to all information needed and shared between the applications. This is no different when we look at the SOA world. Actually it starts to get even more important. First of all, for what data is a Service responsible? And secondly what information is shared between the Services.<br />The first part is all about the definition of a data model, as (mostly) used in a database. This definition is used for storing the information and assuring validity. The second part is about the definition of XML documents, as used in the definition of Services boundaries, this data is more fluid floating around between services.<br /><br />Now what makes a good Data Designer? In the Database world it took us a while to learn how to define a thorough data model. It is not only about WHAT data is needed but also HOW the data is used. What type of queries are to be expected. What are the quantities of the data per functionality. How is the data related to one another, etc. A lot of 'old fashioned' techniques, like NIAM, helped is us in the past in defining a good data model.<br /><br />When I look at the XML world, to my surprise, a lot of the 'good old designing tricks' are forgotten. In projects I come across XML definitions (coming from standard organizations), which are bound to fail in practice. Yes, all the data needed for the functionality is there (the WHAT question). The HOW question, however, most of the times, is completely forgotten. In theory it looks very beautiful creating an XML tree containing all functionality needed in the world. In practice this means, most of the time, that the ratio 'actual needed data' to 'Total data send' is less the 5%. This puts a burden on performance and network load.<br />It is excellent that one XML Document can contain all the information needed to share across all the services, but in practice this means that when you change one part of it, all services need to be changed.<br /><br />With the ever increasing need for exchanging data it becomes essential that we should aim for a methodology for designing XML documents. In the meantime, let's first use the KISS (Keep it Simple Stupid) principle, and see if the XML design really works in practice, on both a functional and usage level. Only after that start looking at reuse.....Léon Smiershttp://www.blogger.com/profile/10331525207139601452noreply@blogger.com0tag:blogger.com,1999:blog-4424531533797514302.post-64324571940529827402009-01-07T07:54:00.000-08:002009-03-24T12:30:20.207-07:00Plea for standardization on consumer good chargers!<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh-jtgokpICjM1nWk9Z5dJMjXWD4n_UgxeurVtDxhw3A-vgEqhO_HJ4AkAZaSLLUlgjIr4ru6hpNH1WOxkpNVwOXg9ySE_d-gBkZYaf0bLdxpOc3Q1EU7K-1fajmzaROzgv16P7civfomM/s1600-h/way-too-many-wires.JPG"><img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 279px; height: 320px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh-jtgokpICjM1nWk9Z5dJMjXWD4n_UgxeurVtDxhw3A-vgEqhO_HJ4AkAZaSLLUlgjIr4ru6hpNH1WOxkpNVwOXg9ySE_d-gBkZYaf0bLdxpOc3Q1EU7K-1fajmzaROzgv16P7civfomM/s320/way-too-many-wires.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5288581873416745954" /></a><br />Once a month I do some travelling. Whether it be for business or fun I usually carry around my gear I need, laptop(s), phone, eBook reader, IPod, camera etc. All these appliances need to be charged once so may days. No problem with that, but what annoys me is that EVERY appliance needs a DIFFERENT charger in different type, size and weight. It gets even worse, there is no charger that I can reuse! And when I travel from country to country I also need adapters for power plugs, and even sometimes, adapters for adapters. The whole IT world has been buzzing about SOA talk (Service Oriented Architecture) with the basis that everything should be based upon Open Standards. But when you look at the basic infrastructure for consumer goods, every brand delivers it's own type of charger. What is the problem with defining a standard for charging consumer goods? Let's apply the SOA principles also here! It will save me (and all other travelers around the world) from carrying around a surplus of wires, adapters and chargers.<br /><br />Thanks in advance!Léon Smiershttp://www.blogger.com/profile/10331525207139601452noreply@blogger.com2tag:blogger.com,1999:blog-4424531533797514302.post-40732068813488436402008-12-31T00:32:00.000-08:002008-12-31T00:37:04.492-08:00Reduce our IT CO2 foot print, let's green label our applications!After reading the book <a href="http://www.mcdonough.com/cradle_to_cradle.htm">cradle to cradle</a> I started thinking what we can do in IT about reducing our C02 footprint. People start to realize that IT is consuming some 5% of our energy consumption nowadays. So all hardware companies start thinking about how to improve the energy consumption of servers. This improvement is only aimed at the run time component of the application execution.<br />At design time, the question can be raised, can we make our programming greener?<br />I started programming in the late 80's, where I've learned to program to avoid memory usage (ok that lead us into the 2000 problem...), and optimize the program to run as smooth as possible with the scarce resources in mind.<br />With the ever increasing speed of processors, we are spoiled and tend to program sloppy nowadays, who cares about extra loop cycles, just add an extra processor.<br />Actually when we look nowadays at the 'size' of an application, the term SLOC (Source Lines of Code) is used. In short, instead of measuring the effectiveness of an application, we only look at the size, so size really matters.... <br />Let's go back to the drawing table start thinking about programming again, how can we make our applications more efficient in the usage of resources? <br /><br />I think green management of an application should be part of the design and run phase, and should already be added in the offerings we bring to our clients. Cars have an energy level, so why don't we green label our applications?Léon Smiershttp://www.blogger.com/profile/10331525207139601452noreply@blogger.com0tag:blogger.com,1999:blog-4424531533797514302.post-137273847826317522008-12-17T11:34:00.000-08:002008-12-18T03:34:35.780-08:00The Quest for the Crane<a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEierPNZvrkUzx7JD9xObWCnbuBLFYneiwW1hGBeYMgOBUEhR4uN0KqbDQ8rIdreBhjVGUEmG0xwNx57gAW2Ufe-91wl_sXW90BP2d2j24bdJM2uekZK-Tmnqc0cg05dkrrOlR0aaQ1-Wag/s1600-h/Kraanvogel+20081217.PNG"><img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 320px; height: 118px;" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEierPNZvrkUzx7JD9xObWCnbuBLFYneiwW1hGBeYMgOBUEhR4uN0KqbDQ8rIdreBhjVGUEmG0xwNx57gAW2Ufe-91wl_sXW90BP2d2j24bdJM2uekZK-Tmnqc0cg05dkrrOlR0aaQ1-Wag/s320/Kraanvogel+20081217.PNG" border="0" alt=""id="BLOGGER_PHOTO_ID_5280846690693450210" /></a><br />Once in a while there something which really makes you tick. <br />Six months ago I went out to do some running, it went bad, so at the end I was in a bad mood. When I wanted to drive back, the road was blocked by birdwatchers, but even though I like bird watching, I was annoyed by them and didn't care about the bird they were looking at. Back home I checked a bird watcher site and realised that it was about a Crane (grus grus), a very rare bird in The Netherlands. I went back but then, of course the crane was gone. Slowly I started getting the crane fever. I started studying web material and books. The biggest chance of spotting one is in the migrating season, from October to December, but when you study the statistics, Cranes are spotted in peaks, hundreds to thousands in one day and zero the day after, and mostly in the south and east of The Netherlands, not my region...<br />So I kept an eye on the spotting sites, and went out hiking, but apart from a nice walk, no result.<br />The last week however a Crane was spotted in the Rosmalen region, so I took a 'sebatical afternoon' and went out looking. And fortunately luck was with me, so the Quest for the Crane was completed. In the picture above it is the beautifull purple bird in the middle. <br /><br />The only thing now is that I don't think the fever now is over...Léon Smiershttp://www.blogger.com/profile/10331525207139601452noreply@blogger.com0tag:blogger.com,1999:blog-4424531533797514302.post-8262132412592691072008-11-08T10:42:00.000-08:002008-11-08T10:46:16.540-08:00Sustainable society<div>This afternoon I went to a presentation at the Rotterdam Erasmus University on a sustainable society. Two speeches were held, one by <a href="http://www.braungart.com/">Dr Michael Braungart</a>, the author of <a href="http://www.mcdonough.com/cradle_to_cradle.htm">Cradle to Cradle</a> (Remaking the Way We Make Things) and the other by prof.dr. Jo van Nunen (sustainable transport). </div><div>Very interesting subject in these times, how can we improve the way we live and still being able to enjoy live....</div><div>I've read Cradle to Cradle, in which some very interesting points were risen. Do not talk about NO WASTE (in which you always remember the word WASTE), think about the Redesign Products. I was a little disappointed by the presentation of Michael Braungart. It was negative and contained a lot of one-liners, like 'You don't need to go to Irak to find chemical weapons!'. I think the book Cradle to Cradle opens up a lot of opportunities of being positive. At one the questions which was raised by the audience, how we as companies contribute and be sure that partners are aiming at the same, Michael Braungart pointed out that we should look at the long term strategy of a company. In that respect it boils down to defining long term principles that we 'We have to redefine our way of defining things', not just improving current processes.</div><div>The speech of Jo van Unen was much more positive. He explained the how the closed loop supply chain (based upon reuse) can help improving things. He also launched an interesting new concept, a new industrial revolution for Europe. The products are created close to the customer, thus releving the transport part of the supply chain. These factories are robotized and create on-demand products ordered by customers, operated by off shore capacities from for instance India, China etc. </div><div>Both speakers emphasized that a lot of innovation is on the way, even though we have a (virtual) credit crisis.</div><div>So, it looks like a lot of work is on our way in IT, rethinking the way we define things (Architecture) and Software Engineering in the way we operate it.</div><div><br /></div>Léon Smiershttp://www.blogger.com/profile/10331525207139601452noreply@blogger.com0tag:blogger.com,1999:blog-4424531533797514302.post-84829493302041775822008-09-25T13:28:00.000-07:002008-09-25T13:29:40.279-07:00Hello <div><br /></div><div>I am a Software Architect working for Capgemini The Netherlands. I've done some 20 years now of Software Engineering, mainly with Oracle technology. The last years I've done a lot of work in the RFID world, making Software Architectures and finding my way in the SOA world. </div><div><br /></div><div>I'll use this blog to filter my ideas around Software Engineering, Oracle and some of hobbies, hiking, geology and birding</div><div><br /></div><div>Regards Leon</div>Léon Smiershttp://www.blogger.com/profile/10331525207139601452noreply@blogger.com0