Wednesday, December 19, 2012

TCO Analysis: IBM WebSphere® Application Server V8.5 vs. JBoss® Enterprise Application Platform V6

With an array of products in the JEE Application Server markets, Prolifics set out to compare IBM WebSphere Application Server Network Deployment (WAS ND) version 8.5 and the Red Hat JBoss Enterprise Application Platform (JBoss EAP) version 6. During this extensive analysis, Prolifics compared features and total cost of ownership (TCO), including tests that covered a wide variety of conditions and factors and using the same hardware, OS and patch levels and vendor agnostic applications to ensure that no vendor had an unfair advantage.

In this study, Prolifics found that in most environments, while acquisition costs for JBoss EAP are lower, IBM WAS ND provides lower overall TCO due to its advantages in stability, high availability, manageability, documentation and performance. In fact, over the period of 5 years, “free” JBoss is 35% more expensive than WAS ND.

The cost of web application server ownership doesn't end with the initial purchase. When choosing the best server for your organization, it's important to be aware of the additional costs that come with open source software. Read this in-depth analysis for more on the study.



Prolifics has over 12 years of experience in the Java sphere and is the leading specialist in migrating applications between application server environments and upgrading existing applications to newer standards. For more information, visit www.prolifics.com or email solutions@prolifics.com.

Monday, December 17, 2012

BPM on the Go with IBM Worklight - Part 1

Many enterprises have been making tremendous investments in the area of business process management. With human tasks forming a critical element of these business processes, providing required information in a timely and efficient manner is key to improving the overall process and making informed decisions.

However, in an increasingly mobile and geographically dispersed business world, people are constantly on the go. Extending your business processes to support mobile use helps to bridge this gap, providing seamless and efficient human interactions.

In this 3 part series, we will look at capabilities that are needed to achieve efficiencies in business processes, a mobile framework that addresses the capabilities and a real world example that illustrates the same.

The following capabilities are the key to achieve efficiencies in business processes:
  • Send prompt notifications as a process waits for decision
  • Connect to processes on the move
  • Access the decision data in a secure disconnected mode for review and approval
Figure 1 - Efficient Business Process

Mobile has been growing exponentially over the past few years with Smartphones and Tablets overpowering Desktops for the first time ever in 2011. Given the projected growth rate , it is imperative that business processes are optimized for mobile devices and provide much needed capabilities like Notifications and Offline access in a seamless manner.

There are various solutions available for developing smartphone applications ranging from Native Development to Hybrid Apps to HTML 5 Sites. IBM’s answer to address the smartphone conundrum is IBM Worklight. Before we get into any details, let us take a quick look at IBM’s Enterprise Mobile Strategy.

IBM’s Enterprise Mobile Strategy to address today’s challenges is plain and simple:

IBM Worklight accomplishes each of the above strategies’ by providing a platform that seamlessly integrates with existing suite of products and opens new avenues to businesses.

To conclude, we understood the challenges facing current BPM landscape, capabilities needed to achieve efficiencies in business processes and IBM’s Mobile Strategy. In next part of this series, we will take a deep dive into IBM Worklight and understand how it addresses each of the required capabilities in detail.

Prolifics will be a sponsor at the upcoming IBM Connect conference, held January 27-31 in Orlando, FL. During this conference, we will be showcasing our end-to-end mobile development solutions and sharing some recent success stories. Want to meet our team? Stop by booth C18-19 in the Solution Showcase or reach out to solutions@prolifics.com. For more information, please visit www.prolifics.com.

Laks Sundararajan is a Solution Architect at Prolifics, an IBM Champion for Collaboration Solutions and a key member of highly specialized team working on IBM WebSphere Portal, Content Management and Collaboration technologies. He has led implementations of many global projects using IBM WebSphere Portal and has extensive background in design and development of enterprise portals. He specializes in providing Enterprise SOA solutions leveraging WebSphere Portal, Content Management and Tivoli. He holds a Masters in Information Technology from Carnegie Mellon University and Graduate Degree in Engineering from BITS, Pilani.

Tuesday, November 27, 2012

Social Business FutureCast hosted by Prolifics & IBM

Earlier this month, Prolifics' Handly Cameron participated in a Live Social Business FutureCast. The panelists discussed what the future will look like for midsized businesses who adapt to the agility of social business culture and practices.

The panelists shared their views on why a midsized business should adopt social business practices now to prepare for the new demands of business in the next year and in the next 5 years.

View the replay of the Social Business FutureCast below!


Be sure to follow the panelists and tweet any questions or comments!
Handly Cameron, Prolifics
Ed Brill, IBM
Laurie McCabe, SMB Group
Geoffrey Colon, Ogilvy & Mather
Luis Suarez, IBM

For more videos from IBM Midsize Business, visit the YouTube channel.

Looking for more information?
Visit IBM's Midsize Business Solutions website
Visit Prolifics' website

Thursday, November 8, 2012

IBM developerWorks Article: Achieving PCI Compliance Using DataPower

PCI compliance is important to organizations dealing with cardholder data, and failing a PCI audit often results in heavy fines and damage to a company's brand reputation. WebSphere® DataPower provides a "drop-in" solution for customers facing PCI audits.

I recently published on article on IBM developerWorks which describes DataPower's capabilities for PCI compliance requirements, and how to position DataPower to achieve the maximum return on investment (ROI) in a short amount of time. To read the article, please click here: Achieving PCI Compliance Using WebSphere DataPower.

Prithvi Srinivasan is a Technology Manager at Prolifics and has extensive expertise in the IBM WebSphere suite of products. He has played a key role at several strategic clients by providing technical leadership. Prithvi has an extensive background in the design and development of SOA and Integration solutions, with a proven track record of consulting and architecting solutions for several industry verticals like Banking, Finance, Retail, Insurance, HealthCare and Technology.

BPMN Process Monitoring using IBM Business Monitor 7.5

Business Process Modeling Notation (BPMN) Process Monitoring functionality has been introduced in BPM V7.5 Advanced by integrating with IBM Business Monitor V7.5. Similar to a BPEL process and a mediation flow, a BPMN process (BPD in the process application) can also be monitored using Business Monitor. I’d like to share with everyone my recent experience of BPMN process monitoring implementation, which might be helpful for you in any of your projects implemented using BPM 7.5 and later.

Please find below the steps involved in the process monitoring implementation using Process Designer and Integration Designer.

Process Designer:
After a BPD (Business Process Definition) is created in a process application, the tracking definitions have to be added in the BPD. These tracking definitions can be added using Intermediate Tracking Event in the BPD. Before adding the tracking definition, a tracking group has to be created containing all the fields, which need to be tracked in the BPD. A tracking group and can either be created from Performance tab in the left panel under the process application or from the intermediate tracking event in the BPD. Please look at the screen shot below for the tracking group.


After the tracking group is created with all the fields, to be tracked, drag and drop an intermediate event from the palette in the BPD, where you want to define tracking. Please look at the screen shot below for the intermediate event and the implementation part of it.


The tracking group has to be selected or created and the tracked fields should be assigned values (either from process variables or hard coded values) as shown above. Similarly, we can add multiple tracking events in BPD where ever you want to define the tracking. Finally, we need to enable process monitoring in the process app settings (under Monitor Settings) for the process application as shown below.


Integration Designer:
After the changes are done in the Process Designer, a monitor model has to be created using the Integration Designer. A monitor model can either be generated from the process application directly(right click the process app in Business Integration view) or created separately. If we want to create and define our own monitor model instead of generating from the existing process app with predefined inbound events and metrics, we have to create a monitoring project and then create a monitor model. After opening the monitor model in the monitor model editor, we need to define the monitoring context, inbound events and metrics. Before defining the event parts in the inbound event, we would need to know the event(CBE) xml structure for the events emitted from the BPMN process.

We can look at the actual event data using either CBE browser(after enabling event data store) or Event Recording(after enabling event recording) in the admin console in our local test environment, as shown below.


The type/format of the events(emitted from BPD) differs from that of a BPEL process.

http://www.ibm.com/xmlns/prod/websphere/monitoring/7.5
is the namespace of the XML Catalog, defined for the events emitted from a BPD. It contains the predefined data types(like mon:eventPointData ), which needs to be selected while adding the event type in the event parts of the inbound event.

In a BPEL process or a mediation component, we have an option to configure any activity or a variable to emit events, so that we can limit the number of events getting emitted to the Business Monitor. However, in BPD, events will get emitted for each and every activity in the BPD and I believe there is no option to control or filter the events getting emitted to the Business Monitor. So, its better to filter the events in the monitor side (receiving end) by adding a filter in the inbound event. Since we have added the tracking events in the BPD, we just need to filter only those events in the monitor side in order to consume the data for the metrics, as long as we don’t need data from the other activities. The following condition would filter out only the tracked events

xs:string(Task_Created_or_Completed/EventPointData/mon:kind) = 'EVENT_THROWN'

After the inbound event is defined, we have to create all the metrics, triggers, timers, counters, cubes, dimensions, KPIs etc., based on our reporting requirements. The reports can be viewed in the Business Space during runtime, after the process app and the monitor model are deployed.

Parthasarathi Jayapathi, a Consultant at Prolifics, has over 8 years of IT experience having expertise in the IBM WebSphere suite of products. Partha has worked with many customers implementing SOA and Integration solutions using IBM and J2EE technologies. He is specialized and certified in BPM V7.5, WebSphere Process Server, WebSphere ESB, WebSphere Business Monitor and WebSphere Lombardi Edition with extensive design and development background. He holds a BE degree in Computer Science, graduated in 2003 from Bharathiar University, India.

Tuesday, November 6, 2012

"It's the Business Process, Stupid"

It is election day in America and with the economy being the central theme, all of us are reminded of the words made famous by James Carville during the Clinton campaign of 1992 – “It's the economy, stupid”. Today, IT Departments around the world are coming to an important realization as they try to align their solutions to their respective business clients – A successful IT strategy revolves around BPM and making Business Processes the core of every solution that they build for their business. The historic challenge of aligning IT with Business is finally seeing a solution with BPM.

However, BPM is no panacea and if not implemented right will end up being yet another IT initiative. When I say right, I am not just talking about the right tool or the right architecture. No doubt those are important, but there are other aspects of BPM Implementation that need to be prioritized and really focused on which, if not done correctly, will not result in why you wanted BPM in the first place: To offer your business clients the real deal.

1. Alignment to Business Goals: It is extremely essential to map every BPM initiative to one of more of measurable goals that a business has. Every business has a Business Plan and in that plan there are defined Business Objectives and SMART Business Goals. Businesses setup new processes or re-engineer existing processes to achieve these goals. Every BPM initiative that is implemented should be able to clearly define what Objective / Goal in the business plan that it will help achieve. For e.g. in an Insurance vertical, loss ratios, combined ratios, underwriting ratios are typical metrics that are monitored by business units and any process re-engineering initiatives that can help improve these ratios for the company is of extremely high importance.

2. Measurement: When it comes to Real Estate, it is all about – ‘Location, Location, Location’ and when it comes to BPM, it is all about ‘Measurement, Measurement, Measurement’. No BPM initiative can be deemed successful if you are not able to measure the change that has been achieved based on the new process that has been put in place and how that maps to the strategic business objectives and goals. In key BPM engagements the Prolifics has been involved in, we have been able to quantitatively demonstrate to the business owners the efficiencies in the re-engineered processes in terms of time and cost efficiencies achieved.

3. BPM Adoption Strategy: While business focus in paramount in BPM, it is still the IT organization that needs to champion BPM and ensure that it is adopted and well executed within an organization. While I have seen a lot of focus by customers on the choosing the right BPM platform, focusing on architecture and design patterns, discussing best practices etc. it is most important for IT leadership to realize that this is a BPM journey and you need to think holistically from multiple dimensions.

  • Are you ready for this? What you need from People, Process, Skills etc. to start adopting BPM
  • It is not just architecture and best practices – it is also about an overall organizational adoption across the entire SDLC from inception all the way to construction and transition – not just at a project level but at a program level.
Prolifics’ BPM Consulting & Advisory Services Teams come with a defined methodology that guides IT Organizations on adopting and executing a successful BPM Program.



I strongly believe that BPM is not just yet another three letter acronym but is the “Change” that will revolutionize the way IT does Business.

To find out more about Prolifics' BPM practice, please visit: http://prolifics.com/bpm.htm

Rajiv Ramachandran is the Vice President of the BPM & Connectivity Practice at Prolifics. He has 14 years experience in the IT field — 3 of those years at IBM working in the development teams at its Object Technology Competency Center in Bangalore, India. He was then a Solution Architect implementing IBM WebSphere Solutions at Fireman's Fund Insurance. Currently at Prolifics, he manages a 100+ member worldwide team that focuses on BPM, SOA, Decision Management, Architecture and Infrastructure. An author at the IBM developerWorks community, Rajiv has presented at IBM Impact and IBM WebSphere Services Technical Conference. He holds an MBA from UCLA Anderson School of Management.

Wednesday, October 3, 2012

IBM Worklight – Part 3: Best Practices

So far, we have looked into folder structure, logging device information, splash screen, Offline Mode, State Manager and Navigation. In this final part, we will look into callbacks, source control and finally put together all our learnings and come up with an InitPage.js that implements all Best practices discussed so far.

1) Callbacks:
Callbacks form an essential part of JavaScript and it is always a good practice to keep callbacks clean and simple. There is not much material on the Web about DOJO callbacks other than dojo.deferred. Here is a simple callback function in DOJO that can be used as an example:



The following function will initiate a callback i.e. call getCurrentLocation – wait for it to execute and then call drawMap with obtained value rather than proceeding asynchronously.


2) Source Control:
worklightServerRootURL in application-descriptor.xml needs to have a process in place to customize Worklight URL for each environment ${local.IPAddress} is pretty generic and may not work when environment is clustered.

iPhone and Android folders have nativeResources folder which is a great place to have all icons for the app. When checking in the project into Source Control, it is a best practice to check-in common folder (source code) and just nativeResources folder in iPhone, android and other devices if any (windows, blackberry). It is always a good practice to have native code generated every time on developer workstations and through build scripts from common code. If assets under js folder are modified there is an option to check them in as well but if an App is running the same codebase, the folders in blue are the ones that must be checked into Source Control.

application tag has an id field which should match mainFile name in application-descriptor.xml i.e. if the id says ‘hello’ mainFile should be hello.html Altering the id field means changing the main file name as well. If they are not in sync, the App might have issues running on various platforms as native code is generated based on this assumption.

If dojo is employed, make sure the app.id in build-dojo.properties is the same as id in application tag 


Putting it All Together: After implementing the best practices we talked about in the 3 part series, an InitPage.js looks like the following:


The above snippet would be the skeletal structure of main JavaScript for a Worklight Starter application. However, the actual implementation would have more controllers, variables and utility methods. This structure makes the Application versatile and easy to adapt to changes.

Conclusion:
I hope you have enjoyed this 3-part blog series on Worklight best practices. If you have any questions or would like more information, please email solutions@prolifics.com. For more information about Prolifics, please visit www.prolifics.com.

If you would like to connect with me, please add me on LinkedIn and follow me on Twitter! I would love to hear your thoughts on this series and your experiences with IBM Worklight.

Laks Sundararajan is a Solution Architect with Prolifics and a key member of highly specialized team working on IBM WebSphere Portal, Content Management and Collaboration technologies. He has led the implementation of many global projects using IBM WebSphere Portal and has extensive background in design and development of enterprise portals. He specializes in providing Enterprise SOA solutions leveraging WebSphere Portal, Content Management, Tivoli and Mashup’s. He holds Masters in Information Technology from Carnegie Mellon University and a Graduate Degree in Engineering from BITS, Pilani.