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
Tuesday, November 27, 2012
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.
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.
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.
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.
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.
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 applicationtag
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.
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.
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.
If dojo is employed, make sure the app.id in build-dojo.properties is the same as id in application
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.
Wednesday, September 26, 2012
IBM Worklight – Part 2: Best Practices
In the initial part of the series, we focused on the folder structure, logging device information and splash screen. In this part, we dive deeper into core Worklight features and focus on Offline Mode, State Manager and Navigation. Let us get right to the subject.
1. Offline Mode/ Processing:
Even though Mobiles are supposed to have 24*7 connectivity; reality is different. Given that every Application should implement Offline Mode. To enable Offline Mode, modify body tag of InitPage.html as follows:
Now, implement doConnectionFailure() method inside InitPage.js
Additionally, have a global busy indicator that could be used across pages to show processing cycles. This will ensure in uniformity across applications.
Applications can then show/hide busy indicator as follows:
2) State Manager:
Mobile Applications need to manage state on client side. This could be achieved through a State Manager that intercepts each View and stores relevant information globally. A code sample that illustrates the same is shown below:
The following snippet is present in InitPage.html to define the view name.
3) Navigation:
Navigation is key part of Mobile Applications. Implementing a versatile framework is essential for a quality application. Content fragments should be isolated so that they can be sourced from external systems if needed. It is also a best practice to keep UI in small pieces as opposed to a single large HTML serving up the entire application.
A sample snippet that implements recommended navigation framework in InitPage.html containing to 2 pages: demo1View.html and demo2View.html is shown below:
Now, demoView.html contains the following snippet to take the user back to InitPage.html. Note that mainView corresponds to view name in InitPage.html. For more details on views, refer to StateManager.
If the snippets are present in same page moveTo should be employed in both places. The above example is for navigating between fragments.
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.
1. Offline Mode/ Processing:
Even though Mobiles are supposed to have 24*7 connectivity; reality is different. Given that every Application should implement Offline Mode. To enable Offline Mode, modify body tag of InitPage.html as follows:
Now, implement doConnectionFailure() method inside InitPage.js
Additionally, have a global busy indicator that could be used across pages to show processing cycles. This will ensure in uniformity across applications.
Applications can then show/hide busy indicator as follows:
2) State Manager:
Mobile Applications need to manage state on client side. This could be achieved through a State Manager that intercepts each View and stores relevant information globally. A code sample that illustrates the same is shown below:
The following snippet is present in InitPage.html to define the view name.
3) Navigation:
Navigation is key part of Mobile Applications. Implementing a versatile framework is essential for a quality application. Content fragments should be isolated so that they can be sourced from external systems if needed. It is also a best practice to keep UI in small pieces as opposed to a single large HTML serving up the entire application.
A sample snippet that implements recommended navigation framework in InitPage.html containing to 2 pages: demo1View.html and demo2View.html is shown below:
Now, demoView.html contains the following snippet to take the user back to InitPage.html. Note that mainView corresponds to view name in InitPage.html. For more details on views, refer to StateManager.
If the snippets are present in same page moveTo should be employed in both places. The above example is for navigating between fragments.
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.
Friday, September 21, 2012
IBM Worklight Series – Part 1: Best Practices
IBM Worklight provides an open, comprehensive and advanced mobile application platform for smartphones and tablets, helping organizations of all sizes to efficiently develop, connect, run and manage HTML5, hybrid and native applications.
Worklight Supports the following frameworks for developing HTML5 and Mobile Applications
Out of the above frameworks DOJO is widely used by IBM in their Portal and BPM suite of products and signifies IBM’s choice when it comes to RIA Frameworks.
In this 3 part series, we talk about Best Practices for developing Worklight based HTML5 and Mobile Applications in general. Note that some of them specific to DOJO Framework. However, parallels can be drawn and similar practices could be employed for Sencha and JQuery frameworks as well.
In the initial part, we focus on the folder structure, logging device information and splash screen.
1) Folder Structure:
Following is the recommended folder structure for Worklight Application (common folder)
Creating controllers and widgets folder under js folder helps in better organization of JavaScript assets as opposed to a single folder. Having a folder for html assets provides a clean structure and avoids them residing directly at root level.
When a Worklight built HTML5 Website or Mobile Application loads, InitPage.html or rather defined under application-descriptor.xml is invoked. A JavaScript file with same name InitPage.js contains necessary scripting information for the framework. Interactions between various components are shown below for better understanding. We will be discussing more on Web Framework in next couple of installments.
For the purposes of this discussion we call the as InitPage.html and main JavaScript file as InitPage.js. Normally, these are named as per Application created i.e. An Application with name ‘HelloWorldApp’ would have HelloWorldApp.html and HelloWorldApp.js as main HTML and JavaScript files.
2) Logging Device Information:
It is always a good practice to log device specific information for troubleshooting/ audits given the vast number of platforms and devices available today. This could be accomplished by calling the simple function below from a dojo listener in InitPage.js
3) Splash Screen/Text:
Mobile Applications have an initial splash screen that is displayed when an Application is launched. Following that, the initial page (in this case InitPage.html) is loaded. While the page is loaded, it might take a few seconds for framework libraries and CSS to load and user may experience a noticeable blip. To prevent this from happening, it is always a best practice to show some text/image when InitPage.html gets called for first loaded (call it as secondary splash screen/text). This is accomplished as follows:
Add the following snippet to InitPage.html
Add the following snippet to InitPage.js and call the function from dojo listener after page is loaded
In the second part of the series, we will be looking at some core features like Offline Mode, State Manager and Navigation.
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.
Worklight Supports the following frameworks for developing HTML5 and Mobile Applications
- DOJO
- Sencha Touch
- JQuery
Out of the above frameworks DOJO is widely used by IBM in their Portal and BPM suite of products and signifies IBM’s choice when it comes to RIA Frameworks.
In this 3 part series, we talk about Best Practices for developing Worklight based HTML5 and Mobile Applications in general. Note that some of them specific to DOJO Framework. However, parallels can be drawn and similar practices could be employed for Sencha and JQuery frameworks as well.
In the initial part, we focus on the folder structure, logging device information and splash screen.
1) Folder Structure:
Following is the recommended folder structure for Worklight Application (common folder)
Creating controllers and widgets folder under js folder helps in better organization of JavaScript assets as opposed to a single folder. Having a folder for html assets provides a clean structure and avoids them residing directly at root level.
When a Worklight built HTML5 Website or Mobile Application loads, InitPage.html or rather
In the second part of the series, we will be looking at some core features like Offline Mode, State Manager and Navigation.
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.
Subscribe to:
Posts (Atom)







