Our Blog

Let us find tech solutions together

Mar 19

Heath Kesler was the final presentation of the day that I attended, and covered one of the other hot topics these days, SOA. Many enterprises have attached to the ideal of a service oriented architecture, but have found issues during implementation that the core team were unable to overcome. Charly^HHeath put together an informative presentation on some of the challenges that present themselves when designing an SOA-based system and/or picking up the pieces of a five alarm fire.

Navigation is the key here, and Heath talks us through some typical on-site with the client problems that he’s been involved with during his professional career. Designing or fixing an existing SOA implementation requires some best practices to be discovered and put into place. The best practices discussed for this session:

  • Using an Enterprise Service Bus (ESB)
  • Asynchronous Processing vs Synchronous Processing
  • Routing
  • Translators / Transformations

The real-world example that was used as a backdrop for fixing existing implementation problems revolved around an existing system that used a 3rd party as the system of record and added a 45 - 90 second delay in processing. And to top it all off, the processing had to be done synchronously because of the original failure in design. Armed with the a bit of left and right-brain thinking, along with a healthy background in designing scalable SOA systems, the process was broken out and modified to allow for an asynchronous method of update and ensuring that the data model was modified to better suit the objectives the company wanted to achieve. Having a customer wait 90 seconds just to create an account on your system was definitely failing their business goals, and through these changes due to it being asynchronous, control was returned to the customer in negligible time.

I have to give big kudos for Heath, this was his first time leading a session, they moved his presentation from Friday to Wednesday, and basically left him no time to practice, and refine. And he pulled through it giving those in the room a great example of some key elements in refactoring an existing SOA implementation to fix and optimize.

Be sure to check out our talk on Apache Wicket on Friday at 3pm in Breakout Room 1 - If you liked 5 Days of Wicket, you’ll love this in-depth hour and drop us a line if your company needs training in wicket: trainings@mysticcoders.com

Read more
Mar 19

Eugene Ciurana’s talk was on the new hotness, the buzzword du jour Cloud Computing. One of the main goals as a presenter which I learned watching Eugene, is that your role is not just to teach and blather on, but to entertain. Eugene definitely has an air of confidence while he speaks, and it makes the content of his talk much more interesting. He also gave away free books to the 2 individuals with the best and most engaging questions for him during his presentation, sneaky. His talk consisted of the how-to on designing, implementing and rolling out a cloud/enterprise based application based on his experiences in the last several companies he’s been employed.

There are a wealth of technologies involved with Cloud Computing, and Eugene attempted to break down into logical areas where each item applied to the overall architecture. Eugene covered the two types of services offered in the Cloud:

  • Software as a Service (SaaS) - The vendor provides a full application responsible for scaling and meeting SLAs such as Salesforce.com
  • Platform as a service (PaaS) - The vendor provides a virtual OS and/or application stack along with a well-defined API for interacting with the system, e.g. Amazon Web Services, Google App Engine
  • Infrastructure

Can you define the term Cloud Computing and not come up with 10 different ways of doing so? His simple explanation was: Cloud = 3rd party, hosted on virtualized boxes with the ability to scale out by duplicating the virtual instances on-the-fly.

In general, the move toward the cloud comes with great benefits and cost savings, and a caution to fully evaluate the scalability and availability that your system needs to provide. Depending on your choices, the SLAs offered by the service provider should drive the architectural and technical decisions. Amazon’s service is cheap, usually effective, but provides no formal SLA to customers of its service. The outage earlier this year brought problems for eBay, LeapFrog, and Apple’s iTunes Store, and was cause for at the very least Apple re-evaluating the decision for them to use S3 and pull this data in-house where they could better control the availability of the resources.

Eugene thoroughly explored the landscape of Cloud Computing and offered real-world examples and case studies showing how you can define an architecture based around a hybrid of cloud/enterprise components while not sacrificing scalability and availability just for low cost.

Be sure to check out our talk on Apache Wicket on Friday at 3pm in Breakout Room 1 - If you liked 5 Days of Wicket, you’ll love this in-depth hour and drop us a line if your company needs training in wicket: trainings@mysticcoders.com

Read more
Mar 19

David Geary’s talk on Google Web Toolkit was one of the highlights of the day. Oddly enough they held it in the polar room and kept it at a brisk 30 below! Aside from feeling like we were stuck in the North Pole, the presentation was informative and engaging, and David’s dry humor left us chuckling (the only warmth we could generate in that room). Have I mentioned that the room was cold?

If you’ve never heard of GWT, it’s yet another framework. This time it’s from Google and powers several but definitely not all of their client facing applications. It’s basic premise is that “Ajax is hard”, and so it does what it must to abstract things away like Javascript and offers awesome productivity boosts by allowing you to code Ajax-based applications almost entirely using Java. And the really cool thing is, you can debug your application, by stepping through Java code instead of using something like Firebug for Javascript. The team has come up with a lot of really innovative new solutions, to old problems. It also allows the programmer that is familiar with idioms like AWT, Swing, and SWT to understand much more rapidly the constructs needed to build a GWT app.

The five top features that GWT provides:

  • Application generator for quickstart
  • Convention over configuration
  • Instant turnaround after changes
  • Non-Ajax Ajax
  • Awesome productivity

As GWT is heavily based on the idea that you want most of your interactions with the client to be Ajax based, they have different requirements for the client and server-side portions of code. Everything you code, if its a simple app without the need for external Javascript, will be in Java. The client-side code uses a subset of the Java packages, and allows you to run your app in Hosted mode, or Web mode. In Hosted mode the app runs via the JVM and can be stepped through using the debugger, and in Web mode it compiles your Java code to Javascript for work in a normal browser.

David is obviously a well seasoned presenter and made the process of learning more about GWT engaging. His session was chock full of demo’s and actually wrote code during the presentation to show how easy the creation could be. I think given the right circumstances, and a client willing to think outside the box, GWT is something you should add to your skill-set.

Be sure to check out our talk on Apache Wicket on Friday at 3pm in Breakout Room 1 - If you liked 5 Days of Wicket, you’ll love this in-depth hour and drop us a line if your company needs training in wicket: trainings@mysticcoders.com

Read more