Wednesday, April 22, 2015

SOA Middleware Guide Series



As we know SOA is not a new topic in the IT industry. But still most of the companies struggling to determine what is SOA and how to implement SOA in their premises.
Technology and all aspects regarding SOA are evolving day by day but there are lack of references regarding SOA. Now we don’t need legacy definitions for technology. What we need is practical reference knowledge to implementing SOA in the organization.
So I have decided to write facts and details regarding the SOA architecture. Since I am also kind of new to this technologies, my opinion may not be the best answer. But I believe someone will take the advantage of these SOA middleware overview series.
There are thousands of SOA related middleware components, platforms, systems from different vendors in the globe. Also mainly we can divide them in two major topics, open source and proprietary. What I mainly targeted is open source products which are free to download and evaluate and do changes without restrictions. Because what we understood was you cannot decide any vendor by just looking their PowerPoint presentations. You must have to jump and dive deep in to the product. I think that’s the awesomeness of open source products. Some people say you can change the code and you can make your own product using open source products. But I don’t believe that because most of the clients/users wants to test the product not to develop it. Because most of the companies wants to share the risk, not to take.

Below are the topics I am going to discuss in next chapters. Most of the topics are generated from real time problems during the implementation.

  • SOA – what is it?
  • Middleware – what is it?
  • SOA middleware – what is it?
  • Success stories and failures – why not?
  • Before jumping to SOA – Changing your mindset is must
  • What you should know about SOA as a CEO / CIO / CTO?
  • What you should know about SOA as a Project manager / Tech lead?
  • What you should know about SOA as an architect / developer?
  • What you should know about SOA as a client?
  • What you should know about SOA as a Business Analyst?
  • Role of Business Analyst in SOA
  • SOAP – what why when pros cons
  • Rest – what why when pros cons
  • Spring – what why when pros cons
  • How to be a SOA geek and what are the qualifications?
  • Is there a predefined SOA platform architecture and how to create best architecture?
  • Failures are the best things to create a better architecture
  • How SOA architecture help organization to make it better?
  • SOA middleware giants of the world?
  • Why open source?
  • Rocket science between community and enterprise (subscription)
  • Open source is not free – don’t get panic – you have to pay – only the way is different
  • Risk free or cost free – you decide
  • Is Operating system matters – how to choose operating system to your architecture?
  • Wso2 SOA middleware stack overview
  • Jboss SOA middleware stack overview
  • Comparison between Jboss stack and wso2 stack
  • Open source vs proprietary SOA middleware
  • Difficulties in SOA implementation in an organization
  • ESB – why when how pros cons
  • Rules – why when how pros cons
  • Business processes – why when how pros cons
  • Identity management in SOA
  • As a service – what why when pros cons – IssS, PaaS, Saas?
  • Data as a service – what why when how pros cons
  • Mobile as a service - is it possible and how?
  • Reliability – can we achieve it with SOA and how?
  • Load – can we balance it and how?
  • Testing – is it possible and how?
  • Testing tools overview in brief
  • Monitoring – before SOA sucks your Organization
  • Monitoring tools overview in brief
  • Is it possible to maintain DEV QA UAT LIVE with SOA architecture and how
  • Fully SOA based Workflow – is it true?
  • SOA security –why when is it possible or not and How
  • Dockers – what why when pros cons
  • Dockers in SOA - Will Dockers solve big amount of VMs problem?
  • What is IOT – internet of things?
  • IOT is SOA
  • Future of SOA – in my view


Hope to add more real-time topics in future.

Tuesday, April 7, 2015

How to view or scan accessible ports on remote server


If you are working with virtual machines, sometimes you have to test ports between machines. If you want to check specific port, the best way is to use telnet command,
[akila@localhost ~]# telnet <target IP> <target Port>
If you want to check port range you can use nc command to check.
[akila@localhost ~]# nc -z <target IP> <Starting Port>-<End port>
Ex,
[akila@localhost ~]# nc -zw3 192.166.200.55 23-33
It will check ports connectivity between 23 and 33.
Also you can write a small script to check port connectivity using below command,
[akila@localhost ~]# nc -zw3 <target IP> <target Port> && echo "port opened" || echo "port closed"

Ex,
[akila@localhost ~]# nc -zw3 192.166.200.55 88 && echo "port opened" || echo "port closed"


This will print "port opened" if the port connection is opened and will print "port closed" if the port closed.
You can use nmap command to do the same job. But most often nmap is not coming with default installation of the Operating System.

Monday, April 6, 2015

How to install jboss brms business central using installer jar file – part 1



You can download jboss brms using below community link,


There are different type of downloadable files in the link. You can install as a new fresh copy or to an existing jbos eap using installer jar file. Also you can just download deployable zip file and use as it is.
In here I am going to explain how to install jboss brms using installer.
First download the installer jar file.
Then execute the jar file using below command. There are two types of installation,

Install jboss brms using GUI mode,


Go to the jar file location using command line and type below command,

[akila@localhost brms]# java -jar jboss-brms-installer-6.0.3.GA-redhat-1.jar

Then it will prompt a wizard to install brms.

First select the installation location. If you have an existing eap instance, give its parent directory as installation path.then it will automatically install brms to the existing server. If you are going to install brms in a fresh eap instance, select a poper location as the path.

Then it will ask for user creation. Give a password to admin and brmsAdmin users. Remember that the brmsAdmin is the account ure going to access brms application.

In the next wizard it will ask to enable or disable java security manager. Just uncheck that option.

Next it will ask to enable ipv6 or not. If you have an ipv6 then enable.if you just use ipv4, uncheck option and click next.

Then it will ask for the type of the installation,default or not. Click default installation.

Now it will install the server and the brms application.

Finally it will ask to save installation data files. Click yes and exit from the wizard.now you are correctly installed the server and the brms application.

Now start the server using <jbossHOME>/bin/standalone.sh using below command,

[akila@localhost bin]# ./standalone.sh

And try the application using below url after successfully start the server,


It will prompt the login screen and give the credentials that u created in the installation (username – brmsAdmin)

Install jboss brms using cli mode


If you are going to install brms in a remote machine using putty or kind of application, you cannot use GUI mode to install the brms server. So there is an option to install it using console mode from same jar file.
Got to the jar file location using command prompt and type below command,

[akila@localhost brms]# java -jar jboss-brms-installer-6.0.3.GA-redhat-1.jar -console

Now it will ask agreement for the license, press 1 and hit enter button

Now give the path to install application. If you have an existing installation, just give its parent directory.
Ex. /home/akila/jbossBRMS

Press 1 and hit enter.

Then it will ask to create admin and brmsAdmin accounts.

Press 1 and hit enter in both user creations.
 
Now it will ask to enable the Java security manager
Press 0 and hit enter.
 
Now it will ask to enable pure IPv6 configuration
Press 0 and hit enter.
 
Then it will ask to configure runtime environment
Press 0 and hit enter to select default installation.

Finally it will ask to generate final scripts,
Press y and hit enter.

After that you have successfully installed the brms in your machine using cli mode.

Now start the server using <jbossHOME>/bin/standalone.sh using below command,

[akila@localhost bin]# ./standalone.sh

And try the application using below url after successfully start the server,


It will prompt the login screen and give the credentials that u created in the installation (username – brmsAdmin)

Now you have successfully installed and loged into the system. In next topic I’ll explain how to create a rule project in brms.

How to change jboss application server EAP interface IP to enable login using IP of the machine



Jboss application server by default set to identify its local machine as localhost (127.0.0.1) and not by using the machine IP.if you want to install application server in a server machine and then access the server using client machines, you have to set your server IP in jboss configurations.

To change to access machine IP, change <jbossHOME>/standalone/configuration/standalone.xml as below mentioned,

<interfaces>
        <interface name="management">
            <inet-address value="${jboss.bind.address.management:<YOUR_IP>}"/>
        </interface>
        <interface name="public">
            <inet-address value="${jboss.bind.address: :<YOUR_IP>}"/>
        </interface>
        <interface name="unsecure">
            <inet-address value="${jboss.bind.address.unsecure: :<YOUR_IP>}"/>
        </interface>
    </interfaces>

Change both three line above with YOUR_IP.
Restart the server after done changes in standalone.xml.

Now you can access the server normally like below,

http://xxx.xxx.xxx.xxx:8080
or

** If you want to change the port as well, please check my previous post (How to change jboss application server (EAP) IP to enable login using IP of the machine)

That’s all.