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

Background:

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 'Countries.java'
# Outcome 
- URI: http://127.0.0.1:7101/Client/CountriesPort
- WSDL URL :  http://127.0.0.1:7101/Client/CountriesPort?WSDL
- 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

-

References
[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

Background:

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

Journey
(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 ->



Saturday, July 7, 2018

[IT-010] Demo deployment of Oracle Database 12C for Skill Testing! (Ver.1.0)

ScenarioWe intend to hire an Oracle DBA and has worked out a test sequence to test skillset of DBA candidates. High-level test sequence as following.

Test Objectives:
(a) Test Oracle DBA candidates basic skillsets
(b) Should able to know how to prepare VM, deploy RH Linux, deploy Oracle Database, Create golden image of Linux VM, RMAN backup, disaster recovery of database

Target readers: People intend to hire Oracle DBA, Oracle DBA appearing for interviews, People interested to learn basics of Oracle DBA

Version History:
1.0: Initial version published on 08 Jul 2018

*** Test sequence for Oracle DBA ***
1.0: Installation of Oracle (VM-1)
1.1: Install Linux on VM
1.2: Install Oracle Database
1.3: Install Oracle Sample HR database
1.4: Setup RMAN
1.5: Setup Data Guard 
1.6: Backup using RMAN
1.7: Initiate Data Guard replication 
1.8: Shutdown Oracle database 

2.0: RMAN based recovery  (VM-2)
2.1: Restore golden image of Linux from VM
2.2. Install Oracle Database
2.3. Restore Oracle database from RMAN backup files
2.4. Live restored Oracle database

3.0: Data Guard based recovery  (VM-3)
3.1: Restore golden image of Linux from VM
3.2. Install Oracle Database
3.3. Restore Oracle database from replicated Data Guard files

Monday, June 11, 2018

[IT-009] Software Development Team for Dummies

1.0: The problem statement
Almost all outsourced software projects are invariably getting either delayed or come out in less than expected quality.

Few of the reasons, as I felt for such Govt organisation characteristics are difficulties in getting right vendor, inadequate vendor skillset, lack of practicing of software engineering best practices, lack of transparency on software development, inadequate user requirement gathering... list goes on and on.

So, felt urgent need to resolve this issue and most importantly sustain the fix as an institutional mechanism.

2.0: The Solution...  That's what I call it
Setup a in-house Software Development Team, of course to develop software and in addition to oversee outsourced developments.

3.0: The journey
Without an iota of experience on how professional software team works, we started our own adventure. Let's bring the fundamentals.

3.1: Software Development Team composition
(a) Business Analyst (BA)
- Speak the language of Users and deliver 'Use Cases'

(b)

Saturday, December 10, 2016

[IT-008] Social impact of Digital India and its benefit to silent underprivileged people

Social impact of Digital India and its benefit to silent underprivileged people 






I was also not a great believer of "Digital India" and other big promises of Modi, till i attended a "Digital Governance Summit-2016" organized by Indian Express &  Citrix at New Delhi yesterday, 09 Dec 2016.

The way PM Modi promised, and delivering it... be it reducing waiting time of poor patients from  2-3 days on foot path under inhuman conditions to consult AIIMS OPD doctor into mere hours, setting target of electrifying 18,000+ remotest dark villages within 1000 days, and rapidly progressing to achieve that,  is something even the global PMP topper could only dream to flawlessly execute. The way PM could inspire scores of youths from local villages as part of GARV project, and even a Neuro Surgeon of famed AIIMS Hospital to achieve this speaks volume about PM leadership quality and vision.  

Picture speaks more than words... I have posted few photos of the event.  If anyone would like to see to believe it, visit "http://garv.gov.in/dashboard".

Promising to electrify 18452 villages situated in hostile environments of hills, forests, desert, naxel infected villages,  within next 1000 days during 15 Aug 2015, then by 15 Aug 2016 his team exceeded 50% of set target is no mean achievement, considering till 2015 the progress rate was 1000+ per year.

The way his team had planned and currently executing is amazed me, be it launching "garv.gov.in" to track the progress, appointing local youths as eyes & ears, going to remotest corners of India with few houses, transporting materials as backpacks... out-of-box thinking of his hand picked Govt officials is visible in all planning and execution. 

I was privileged to meet the team who is executing the project in mission mode and felt respect for their silent untiring efforts to connect underprivileged people of India. 

Hope, leaders here to acknowledge  the true meaning of "Digital India", and how it could change the lives of millions of underprivileged people to better. 

References:-
Rural electification monitoring dashboard 

PM Modi set target of 1000 days for rural electification an 15 Aug 2015

AIIMS Call Centre, by Dr.Deepak Agarwal, Neuro Surgeon. 

Saturday, September 10, 2016

[IT-007] ISO 15489 'certification' process for dummies

ISO Certification process for dummies

Background :- At our office, we planned to digitize tons of paper documents while keeping related physical copies safely dumped at faraway place in the earth. After going through hundreds of technical jargons related to "Record Management", I thought of finally its better to just scan and dump it in computer hard disk and ceremoniously call it as RMS, after all in Govt organizations, who really bothers about what we do at IT 😃 

But, we thought of why don't we follow some well defined global standards such as ISO 15489, US DoD 5015.2 etc. Also, had shortlisted many products such as HP Record Manager, EMC Documentum, IBM Filenet, OpenText, NewGen OmniDocs etc, but curiously Microsoft SharePoint does not claim to comply with those standards albeit existence of few add-on such as Record Point. 

At one point in time, we realized that there is no certification exists for ISO 15489 and US DoD 5015.2 certificates no more issued. But, strangely there are many vendors who claim themselves as ISO 15489 certified. To put full-stop to this vicious cycle, I finally reached out to Mr.Govind Srinivasan, CEO of Paramount Dataware Pvt Ltd., Chennai, India through LinkedIn by chance. He is a well established ISO certification process veteran who had even trained BSI auditors! What I learned from him through a brief LinkedIn chat which moved into further detailed WhatsApp session is an eye opener. I finally understood that, ISO 15489 is just guidance and NOT an auditable standard whereas ISO 30301 is auditable avatar of ISO 15489. Strangely, no CB (Certifying Body) such as BSI, STQC etc had approached AB (Accredition Body) to seek approval to carry out accredition in India for ISO 30301. 

An edited extract of our chat is reproduced with kind permission of Mr. Govind Srinivasan of Paramount Dataware Pvt Ltd. 

Me : Sir, Pl enlighten me with brief summary about ISO audit process,  then move to explain why ISO 15489 is NOT auditable and alternative option available within the context of Records management Software (RMS) in India, particularly for Govt organizations. 

He: You have an organization, by name, INTERNATIONAL ACCREDITATION Forum (IAF). This body is the supreme authority, accrediting the Accreditation Bodies like UKAS, ANAB, etc.

 These accreditation bodies (UKAS, ANAB, etc.), in turn, approve the Certification Bodies (like  BSI, Bureau Veritas, STQC, DNV, SGS, TUV, etc.) for specific  ISO Management System Standards.

Every Accreditation Body maintains a catalogue of ISO Management System Standards that are ready to approve, once a CB comes with a request seeking accreditation arrangement.

Which means that ...... if BSI wants to carry on the business of 3rd party audits for ISO 27001, it has to approach one of the Accreditation Bodies, seeking approval to operate that particular scheme.  In this case, it is the intent to perform 3rd party audits for ISMS (ISO 27001) for which BSI seeks to get the approval from one of the  Accredited Bodies.

The Accreditation Bodies (let us call them as ABs) carry out an audit to find out the readiness of the CB to perform 3rd party audits, with regard to the particular ISO MSS (Management System Standard) and grants the approval to BSI for conducting 3rd party audits and issue Accredited Certificates to its clients (BSi's clients).

There is literally an ISO Standard for every activity that governs the working of the ABs & CBs.

When an AB performs the audit of a CB, it keeps the ISO 17021-1:2015 as the auditing requirements to be complied with  by the CB.

But I thought these info would be useful to you at some point of time, as literally MOST GOVT DEPTS have no idea about  the structure of audit bodies like  CBs, ABs and IAF. And this has even led to a govt department getting fooled by an unaccredited so-called CB conducting ISO 9001 audit and granting certificate !!

ISO 15489 is NOT an accreditable standard. Meaning, it cannot be one of the 3rd party auditable standard. Because it DOES NOT have any requirement. It  is just a guidance standard.

A 3rd party audit CANNOT be conducted against a guidance standard. So, at no point of time ISO 15489 can be 3rd party audited.

It is exactly to remove this handicap, ISO brought 30301. A 3rd party auditable standard should have REQUIREMENTS or Specifications. 

You can distinguish a 3rf party auditable standard from other ISO standards, when you find the word "REQUIREMENTS" or "SPECIFICATIONS" mentioned in the standard's title itself.

A  3rd party standard consists of only REQUIREMENTS and not the guidance. There are about 40 standards in the ISO 27K family of standards. But there is only one 3rd party auditable standard in the ISO 27K family of standards, which is popularly known as ISO 27001.

If one  read ISO 15489-1 & 2 carefully, and map it with ISO 30301, you will find the 15489 standards really interesting and easy to understand.  They may appear to be very practical, where ISO 30301 std may appear to be speaking from that proverbial 40000 feet level.  But then, every single certifiable ISO Management System Standard may appear like this only. And here is that another distinction.  There are about 18000 ISO Standards.  But all of them are not MANAGEMENT SYSTEM STANDARDS. It is only a MANAGEMENT SYSTEM STANDARD that can be 3rd party audited. And such a MANAGEMENT SYSTEM STANDARD (MSS) is distinguished by the word that is displayed as part of the  title itself, in such MSSs, that reads as "Requirements" or "Speficifications".

That means if you conclude that any ISO spec if mentioned as MSS could be 3rd party auditable and also think about an example of, while ISO 30301 is MSS, 15489 is not. Then, YES, YOU ARE RIGHT.

It is a question of chick from egg or egg from chick issue.  Certification Bodies, at least in India, have not taken accreditation to do 3rd party audits  for ISO 30301.

(That's the end of one more learning walk in the lazy Sunday morning. Bye) 

Sunday, April 10, 2016

[IT-006] Step-by-Step: DAG Setup for MS Exchange 2016

Database Availability Group Setup of MS Exchange 2016 - 20160411_0239

1. Setup Scenario
(a) Mail Server-1: RSR-EX-V1
(b) Mail Server-2: RSR-EX-V2
(c) Witness Server: RSR-EX-V3
(d) Domain: east.wan

2. Steps overview
(a) Deploy AD, DNS & DHCP Servers
(b) Deploy MS Exchange 2016 on two virtual servers as part of HA setup.
(c) Create Witness Server VM
(d) Create DAG
(e) Create DNS Round Robin entries for simple load balancing

3. Screenshots
(a) DAG Setup-Create Computer obj with premission
1.0:



1.1:


1.2:


1.3:


1.4:


1.5:


1.6:


1.7:


1.8:


1.9:


1.10:


1.11:


1.12:


1.13:


1.14:


1.15:


1.16:


1.17:


1.18:


(b) Witness Server Setup:
2.0:


2.1:


2.2:


2.3:


2.4:


2.5:


2.6:


2.7:


2.8:


2.9:


2.10:


2.11:


2.12:


(c) DAG Configuration in Exchange Control Panel (ECP):-
3.0:
:

3.1:


3.2:


3.3:


3.4:


3.5:

3.6:


3.7:


3.8:


3.9:


3.10:


3.11:

3.12:


3.13:

3.14:


3.15:


3.16:


3.17:


3.18:


3.19:


3.20:


3.21:



(d) DNS-Round Robin+Load balancing
4.0:


4.1:


4.2:


4.3:


4.4:


4.5:


4.6: