Sunday, October 28, 2018

[IT-001] Enterprise SOA implementation using Oracle SOA for IT Idiots (Part-2)

[IT-001] Enterprise SOA implementation using Oracle SOA for IT Idiots (Part-2)
Last updated: 29 Oct 2018 05:16


There are so many SOA terminologies, concepts and for an fellow IT idiots, it's a nightmare... It's better to see SOA in action, not just in bits-n-pieces... But, a end-to-end 'Hello World!'

Demo application to explore Oracle SOA concept , else try to catch crow in dark!

** User Story **

(a) Say 'Hello World!', when i enter 'World' in to Text Box of Google Chrome Browser & click 'Say Hello'

** Great planning by an IT idiot :) **

There i believe, total of four stages to achieve 'Hello World!' in SOA 

(a) Service Provider : sayHello() in POJO/ Plain old Java coding. After all, this is the only one, we learnt in school!

(b) Business Service 
(c) Proxy Service
(d) Service Consumer

** Demo SIMHA Hello World, Step-by-Step **
1.0.0: Create Endpoint (Service Provider) 
1.1.0: Create Desktop Application in JDeveloper 
1.2.0: Create ? Project 
1.3.0: Create sayHello() as POJO 
1.4.0: Create REST Service from POJO 

2.0.0: Create Business Service 
2.1.0: Create Resources from Endpoint URI & XSD 

3.0.0: Create Proxy Service 

4.0.0: Create Web App? (Service Consumer)
4.1.0: Create Data Control 
4.2.0: Create Text Box & Command 
4.3.0: Enter 'World' & Display 'Hello World!' 

** Reference YouTube/ Links Analysis **

(a) Create 'Service Provider'
# Reference YouTube: Create Simple Web Service Using Oracle JDeveloper  
- Create Application type -> 'Java Desktop Application' project in JDeveloper
- Create Project type -> 'Java Class'
- Create Web Service -> By right-click on ''
# Outcome 
- URI:
- Operations : CountriesPort.getCountries()
- XSD : ??? 

(b) Create 'Business Service'

# Reference YouTube: Oracle SOA Suite 12c: REST Enabling SOA

# Outcome


(c) Create 'Service Consumer'

# Reference YouTube: Consume Web Service With JDeveloper ADF
- Create Application type -> 'Fusion Web Application (ADF)
- Create Data Controls type -> 'Web Service Data Control' to connect with Endpoint
- Create Categories->Web Tier->JSF/Facelets->'ADF Task Flow' to create Web Page
-- Add page fragments of viewAllCountries, addCountry, selectCountry & include Control Flow
-- "... from this point onward, this example goes above my head... abort!'


# Outcome


[01] Enterprise Service Bus, Jul 2013, Oracle Technology Network, 02-00-article-on-oracle-enterprise-service-bus-jul2013.pdf

[02] Create Service Provider, 22 Mar 2013, YouTube, 01-01-service-provider-create-simple-web-service-20181029.mp4  

[03] Create Business Service/ Process Pipeline/ Proxy Service on Service Bus, 26 Jun 2014, YouTube, 01-02-service-bus-create-business-service-n-proxy-server-oracle-soa-20181029.mp4

[04] Create Service Consumer, Vinay Agarwal, 27 Mar 2013, YouTube, 01-03-service-consumer-create-web-app-adf-20181029.mp4  

Saturday, October 27, 2018

[IT-001] Enterprise SOA implementation using Oracle SOA for IT Idiots (Part-1)

[IT-001] Enterprise SOA implementation using Oracle SOA for IT Idiots (Part-1)
Last updated: 28 Oct 2018 16:49


1. As a large enterprise organisation with near zero maturity in IT process, we tend to deploy multiple software applications in all possible haphazard way one can imagine. PHP/ ASP.NET C#/ ASP.NET VB/ JSP/ Java... even FoxPro 2.5. Database too in flavors from Oracle to SQLite. All leading to creating a monster of IT system beyond control of sizable novice in-house IT support system.

2. A simple thought has born, WHY CAN'T WE USE ONE DEVELOPMENT ENVIRONMENT, AND YET OPEN FOR INTEGRATION WITH MULTIPLE HETEROGENEOUS SYSTEMS? Thus, thought of opt for 'Service Oriented Architecture'

Architecture of an IT idiot!

2. Overall architecture thought to have following core layers.
(a) Enterprise Portal : Oracle HTTP Server + Oracle Web Center Portal
(b) Enterprise Service Bus: Oracle Service Bus/ Oracle SOA Suite of products
(c) Enterprise Application Server: Oracle WebLogic Server
(d) Enterprise Database: Oracle Database Server

3. Platform of Portal, Service Bus, AS & Database duly enhanced using following products.
(a) Identity & Access Management: Oracle IdAM
(b) DMS/ RMS/ DAM: Oracle Web Center Content
(c) Business Process Management: Oracle BPM

Proof-of-Concept Tests
4. Apart from theory of presentation layer, integration layer, business layer, database layer, it is always essential to test the entire deployment of myriad of Oracle long list of products. Hence, intended to test following.
(a) Write a simple POJO getEmployeeNameById() and expose it as RESTful API aka Endpoint aka Business Service (BS)
(b) Publish API Endpoint to Service Bus aka Process Pipeline (PP)
(c) Create Proxy Service (PS) to expose API to outside world
(d) Connect with Proxy Service through Demo browser based application 'HR Query' :)

Google God, who else there to help us, the IT idiot breed ;)
(a) How to write Business Service (BS)
Create Simple Web Service Using Oracle JDeveloper 11.1.2

(b) How to connect BS to SOA Server
Consume Web Service With JDeveloper ADF

(c) How to write Proxy Service (PS)
REST Enabling SOA

(d) SOA Hello World!
Oracle Service Bus 12c Hello World

(e) Create Business Service from Service Provider and expose as Proxy Service
Provisioning a Service in Oracle Service Bus

(f) How to write browser based client demo app

(a) .... is on :). Shall update with more on the way

Glossary aka headache creators

01-00: Business Service -> Created within Service Bus from usually Endpoint URI
01-01: Service Provider/ Endpoint -> Service Provider in REST/SOAP API. Usually connected using WSDL URI + XSD files
01-02: Proxy Service -> Created from Business Service. Multiple Proxy Service could be created depend upon requirement. Usually to serve REST clients & SOAP clients separately
01-03: Service Consumer -> Client who consumes REST/SOAP Services from Proxy Service of Service Bus

02-00: WSDL ->
02-01 XSD ->
02-02: REST
02-03: SOAP ->
02-04: UDDI ->