Archive for October, 2009

A Finite State Machine Supporting Concurrent States

Friday, October 30th, 2009

A finite state machine (FSM) models a predefined number of application states, which are changed (transitioned) according to actions that occur when triggered by runtime events. The FSM serves as a control point for validating state transitions and initiating callbacks.

A typical application will go through multiple states during a runtime session, e.g., RUNNING → PAUSED → RESTARTED, or (in the case of a data entry form) ENTER → VALIDATE → SAVE. The state transitions are initiated by runtime events, such as when a user presses an PAUSE button or hits the ENTER key after entering data in a field. The FSM determines what actions occur when an event is received, and the resulting state. The transition to a new state will invoke a change in the immediate or subsequent behavior of an application.

The article demonstrates how Java enums and EnumSets can be used as a basis to define and validate application states and state transitions

Jeff Lowery

http://today.java.net/article/2009/09/06/finite-state-machine-supporting-concurrent-states

Null Object Pattern in C#

Friday, October 30th, 2009

A Null object is an object that encapsulates the absence of an object. It provides the do nothing behavior and returns the defaults. The Null object is used whenever object reference would have been null. The use of Null Object pattern simplifies the client code and makes it less error prone.

Sajad Deyargaroo

http://www.codeguru.com/csharp/.net/net_general/patterns/article.php/c16503/

More Enterprises Lean Toward Hybrid Agile Development

Friday, October 30th, 2009

Proponents of Agile and lean software development methodologies say they are becoming more popular than traditional sequential methods in corporate app-dev groups, but implementation of a pure Agile method is still a rarity in the enterprise.

“The movement to Agile is fundamentally changing the way in which organizations build software,” said says Forrester Research analyst Dave West, in a keynote address during the recent HP Virtual Conference 2009. “In situations where the requirements and the technology are far from understood — where there’s a lack of clarity — processes become more and more complicated. So a traditional approach, which requires planning, can’t possibly work.”

John K. Waters

http://adtmag.com/articles/2009/10/13/more-enterprises-lean-toward-hybrid-agile-development.aspx

Microsoft Opens Windows to Eclipse Developers

Friday, October 30th, 2009

Microsoft said on October 28th it will let developers who use Eclipse-based IDEs integrate their Java and PHP applications with the latest versions of Windows, Silverlight and the forthcoming Azure cloud platform.

At the Eclipse Summit in Ludwigsburg, Germany, Microsoft said it is working with Tasktop Technologies and Soyatec to allow developers using Eclipse IDEs to tap into features of Windows 7, Windows Server 2008 R2, Silverlight and the Azure, which is set for release next month.

Jeffrey Schwartz

http://adtmag.com/articles/2009/10/28/microsoft-opens-windows-to-eclipse-developers.aspx

What are useful Software Engineering approaches for legislated requirements?

Friday, October 30th, 2009

More projects seem to be coming across my desk that ultimately involve building information systems whose primary requirements come from legislation or regulations. And sometimes even the detailed requirements.

Legislation is sometimes quite a nice Requirement Specification: it is expressed in functional/quality terms rather than internal operations, and is pretty careful in its use of logic. It has been drafted by professionals, and vetted, and thought through. It avoids design and implementation issues almost entirely, so within the great waterfall you have a lot of agility.

Rick Jelliffe

http://broadcast.oreilly.com/2009/09/what-are-useful-software-engin.html

Executing Stored Procedures and Functions From PHP in Windows

Friday, October 30th, 2009

Discover how to call stored procedures and functions in MySQL from PHP using three database extensions: MySQL, MySQLi, and PDO.

Stored procedures and functions are a new feature of MySQL 5.0. A stored procedure is a pre-built procedure containing one or more SQL statements stored in the database server.

This article shows how to create a few basic stored procedure and function examples, and call MySQL stored procedures and functions from PHP with the help of some database extensions.

Octavia Andreea Anghel

http://www.devx.com/webdev/Article/42887

Crisis: kans of bedreiging?

Friday, October 30th, 2009

De huidige economische crisis dwingt bedrijven tot ingrijpende maatregelen die alle delen van de organisatie treffen, ook de IT-afdeling. Wordt het alleen maar snijden, of is er met reorganiseren en herdefiniëren van taken, rollen en verantwoordelijkheden ook winst te behalen?

http://www.informatie.nl

AspectJ in Action, Second Edition

Friday, October 30th, 2009

To allow the creation of truly modular software, OOP has evolved into aspect-oriented programming. AspectJ is a mature AOP implementation for Java, now integrated with Spring.

AspectJ in Action, Second Edition is a fully updated, major revision of Ramnivas Laddad’s best-selling first edition. It’s a hands-on guide for Java developers. After introducing the core principles of AOP, it shows you how to create reusable solutions using AspectJ 6 and Spring 3. You’ll master key features including annotation-based syntax, load-time weaver, annotation-based crosscutting, and Spring-AspectJ integration. Building on familiar technologies such as JDBC, Hibernate, JPA, Spring Security, Spring MVC, and Swing, you’ll apply AOP to common problems encountered in enterprise applications.

This book requires no previous experience in AOP and AspectJ, but it assumes you’re familiar with OOP, Java, and the basics of Spring.

Ramnivas Laddad

http://www.manning.com/laddad2/

SOA Manifesto Released

Wednesday, October 28th, 2009

The Agile Manifesto has become a leading reference for agile software developers mainly for two reasons: it was written by thought leaders, and it’s written in a very short and accessible format. The format highlights the core values of agile software development by stating what matters more out of two good things and then goes on to provides principles that explain and expand upon those core values. SOA has matured in recent years and recently a group of SOA practitioners/writers/authors saw fit to create a SOA Manifesto using the format of the Agile Manifesto in an attempt to similarly help the SOA community of developers and users. The SOA Manifesto was recently worked out at the 2nd International SOA Symposium in Rotterdam.

Mark Little

http://www.infoq.com/news/2009/10/soa-manifesto-released

Amazon Relational Database Service

Tuesday, October 27th, 2009

Amazon Relational Database Service is a web service that makes it easy to set up, operate, and scale a relational database in the cloud. It provides cost-efficient and resizable capacity, while managing time-consuming database administration tasks, freeing you up to focus on your applications and business. Amazon RDS gives you access to the full capabilities of a familiar MySQL database. This means the code, applications, and tools you already use today with your existing MySQL databases work seamlessly with Amazon RDS. Amazon RDS automatically patches the database software and backs up your database, storing the backups for a user-defined retention period. You also benefit from the flexibility of being able to scale the compute resources or storage capacity associated with your relational database instance via a single API call. As with all Amazon Web Services, there are no up-front investments required, and you pay only for the resources you use.

http://aws.amazon.com/rds/

The Simple Cloud API

Thursday, October 22nd, 2009

The flexibility and economic benefits of cloud computing have generated a tremendous amount of interest. As developers work with this technology, an obvious concern is vendor lock-in. Writing an application that makes the most of cloud computing is great. But what if that application locks you in to a single vendor? The Simple Cloud API is an effort by multiple cloud vendors to create a single API that works with cloud services from multiple providers. This article is a high-level overview of the API and its goals.

Doug Tidwell

http://www.ibm.com/developerworks/opensource/library/os-simplecloud/

Minimizing Complexity In User Interfaces

Thursday, October 8th, 2009

Clean. Easy to use. User-friendly. Intuitive. This mantra is proclaimed by many but often gets lost in translation. The culprit: complexity. How one deals with complexity can make or break an application. A complex interface can disorient the user in a mild case and completely alienate them in an extreme case. But if you take measures first to reduce actual complexity and then to minimize perceived complexity, the user will be rewarded with a gratifying experience.

We recently faced this very challenge while designing two Web-based applications, including an enterprise-level content management system. What follows are several techniques that have helped us streamline complex applications into lightweight user experiences.

Tyler Tate

http://www.smashingmagazine.com/2009/10/07/minimizing-complexity-in-user-interfaces/