By Tom Keen and Guillermo Tantachuco
BlueStar Energy’s IT platform was recently named one of the most outstanding IT accomplishments in North America in the InfoWorld 100 Awards, honouring companies in all fields for IT projects that exemplify intelligent, creative uses of technology to meet business and technical objectives.
“These days, the electrical power business has taken on a complexity akin to that of commodities trading. Deregulation, alternate energy sources and customers seeking protection from rising prices have opened a world of opportunity to nimble electricity retailers such as BlueStar, which – thanks to a strategic investment in SOA (Service Oriented Architecture), much of it open source – has made the most of it,” notes InfoWorld.
INITIAL TEAM, PERSPECTIVES AND APPROACH
From inception to deployment, this project has been a collaborative effort between the business and technology teams within BlueStar. Discussions were organised with the company executives to understand the business goals and technology requirements. In BlueStar’s case, SOA was the best IT solution to meet these goals.
The initial assessment was that the current enterprise infrastructure would need to be completely re-engineered in order to adequately support the business vision. The business architecture would be named NextStar™ (for the “next” BlueStar) and would include eCommerce, B-to-B integration, accounting, automated provisioning, risk/energy management, pricing and product management, sales force automation, customer relationship management and billing systems.
Once the business architecture was developed, the team began researching package solutions that could meet the requirements of NextStar™. It was quickly determined that, even with significant customisation, leading package solutions would support only certain aspects of the architecture. This approach would have presented many obstacles such as vendor restrictions, limited expansion and flexibility, and the reality that certain business requirements could never be supported. In addition, these package solutions came with large expenditures for licensing, training and consulting, to name a few.
Thus CEO Guy H. Morgan III elected to build these solutions from the ground up. The team leveraged many leading industry best practices:
- Architecture: TOGAF, SOA
- Application design: Domain driven design, model driven architecture
- Software engineering: Round-trip engineering, continuous integration
- Software quality assurance: Automated code/coverage analysis, automated testing
- Software methodology: Eclipse OpenUP, UML.
To accomplish implementation of these best practices, the team utilised open source technology across all of the NextStar™ systems, including billing.
THE NEXTSTAR™ BILLING SYSTEM
The NextStar™ Billing solution was designed to incorporate several business and technical concepts:
- The Pricing module is a configuration system that assembles pricing rules formulated on the basis of the customer contract. These pricing rules are propagated to the billing module upon contract approval.
- The Provisioning module transfers the customer from their current utility to BlueStar by leveraging business rules associated with the propagation of their contract.
- The eCommerce system provides customers with the ability to enroll for services on the BlueStar website. Once enrolled, customers can also modify account options, change payment preferences, make payments, and review billing information, invoices and account history.
- The Billing system provides information in a canonical format from the B-to-B integration system, which provides the translation and routing of information received from outside business partners. The Billing system also integrates with the Accounting system to support financial reporting as well as traditional and specialised accounting functions.
- The Energy Management system supports forecasting, forecasting reconciliation and billing estimation based on usage obtained from the Billing system.
The NextStar™ system as it exists today supports the business agenda and allows individual modification of a single module with little to no impact on other modules and systems.
OPEN SOURCE BLUEPRINT
From a business and information systems architecture perspective, the NextStar™ Billing system is a complex, distributed SOA-based solution that is comprised of the following components:
- The web application allows business users to perform day-to-day operations by providing workflow and user analytics tools to manage and monitor bill generation, to administer account credits and debits, to manage exceptions for any of the billing and customer payments processes, and much more.
- The billing engine is responsible for calculating energy and delivery service charges based on actual electricity usage. The engine also estimates the aforementioned charges when electricity usage, for a given account, has not been received within the timeframe specified in the service level agreement with the utility. The billing engine acts as the interpreter of both billing and pricing business rules associated with BlueStar service offerings.
- Master Data Management (MDM) is simply a way to provide consistent, comprehensive information across the entire BlueStar organisation. MDM creates a single, unified view of customers, billing accounts, products, suppliers and employees. By having a single version of the truth, MDM has a decidedly positive impact on the business by knowing exactly what products customers have and what items are bought from selected vendors.
- The Application-to-Application integration component is a set of distributed enterprise services that allows the Billing system to interact with a number of internal systems such as eCommerce, Provisioning, Product and Pricing, Accounting and Energy Management.
- The B-to-B integration component is a set of distributed enterprise services that allows the Billing system to interact with a number of external systems from trading partners to process information including utility energy usage data, delivery services data and loss factors from ComEd, Ameren, BG&E, PepcoMD and PepcoDC, credit card payments from Paypal, ACH payments from Bank of America, and real time and day ahead energy market prices from PJM Interconnection and Midwest ISO.
From a technology architecture standpoint, NextStar™ Billing services and applications have been architected leveraging SOA and EDA (Event Driven Architecture) constructs such as standard-based interface, consumer heterogeneity, loose coupling, and composability. These services and applications – as well as existing legacy systems, workflows and third party service providers – interact with each other in a standard, loosely coupled manner via the Business Integration Suite which consists of distributed, scalable and reliable components such as Business Process Management System (BPMS), Business Rules Management System (BRMS), Enterprise Service Bus (ESB) and Messaging Fabric.
MDM is especially important in an SOA environment. BlueStar’s MDM layer improves the company’s ability to share, consolidate and analyse business information quickly. It also makes it possible to rapidly assemble new, composite applications out of accurate master information and reusable business processes. The MDM system includes libraries of common business operations that other systems can utilise. For instance, one common data service that any application can use to obtain customer information, to adjust the price of a product or to create a new supplier.
NextStar™ requires a reliable, robust run-time infrastructure that provides comprehensive solution to lifecycle management and supports flexible, highly distributed deployment options, quality of service and end-to-end security. To provide high availability, reliability, performance, transactional services, authentication, authorisation, confidentiality, integrity and non-repudiation, NextStar™ currently uses existing platform technologies such as firewalls, operating systems, web servers, JavaEE application servers, security framework, single sign-on (SSO), directory services, enterprise services bus, business process management system, business rules management system, portal and enterprise content management. New technologies can also be layered on to the system as better practices are developed.
The management and monitoring solution automatically discovers, monitors, and manages software and network resources, regardless of type or location. It provides a single pane view of performance and availability on all platforms, including Linux, Windows, Solaris, VMware and Cloud services (in the near future). With its fast deployment, advanced alerting, built-in diagnostics, enterprise security and extensibility, BlueStar saves time and meets service level agreements.
With a Model Driven Architecture (MDA) approach and Application Lifecycle Management (ALM) tool suite, NextStar™ enables the application solutions delivery to be more collaborative, productive and transparent – ideal for geographically distributed teams. Thanks to MDA, NextStar™ uses reusable design elements and less code. The designs themselves directly reflect the run-time elements in a platform neutral way that the business can understand. ALM allows NextStar™ to facilitate and integrate project management, requirements management, change management, analysis and design, architecture, development, testing, code quality, defect tracking, configuration and release management.
The initial team decided to implement the enterprise architecture of NextStar™ using mature open source products and frameworks based on the following criteria:
- Enterprise-class features
- Functionality (roadmap)
- Platform independence
- Heterogeneous environment integration
- Industry/community support
- Easy to learn
- Integration with other open source frameworks
- No vendor lock-in.
Below is a list of the most important open source products used in NextStar™:
- Spring (core, web flow, security, LDAP, modules) – JavaEE framework
- Hibernate – JDBC database abstraction
- Mule – Enterprise service bus
- jBPM – Business process management system
- JBoss Rules – Business rules management system
- Central Authentication Services (CAS) – SSO
- LifeRay – Enterprise portal
- ActiveMQ – Messaging fabric
- MySQL – Relational database management system
- EDIReader/EDIWriter – Electronic data interchange parser
- Opentaps – Accounting and finance module
- OpenSUSE – Linux operating system
- Apache – Web server
- Tomcat – Java servlet container
- JBoss – JavaEE application server
- OpenLDAP – Directory services
- Hyperic HQ – Management and monitoring system
- Scalix - Email
- Hylafax – eFax
- Pentaho – Business intelligence, ETL (Extract Transform Load) and EII (Enterprise Information Integration)
- Alfresco – ECM (Enterprise Content Management)
- Sparx System Enterprise Architect – ALM’s enterprise architecture and MDA modeling tool
- Eclipse and plug-ins – ALM’s development and testing tool
- Hudson – ALM’s continuous integration
- Sonar – ALM’s static code analysis
- Scarab – ALM’s defect tracking.
APPROACH AND PERFORMANCE SUMMARY
The NextStar™ Billing system and initial modules were developed and deployed within one year and at a fraction of the cost of many competitors. Industry standards for a stand alone billing system are approximately 4.25 years for development and budgets in excess of $100 million. BlueStar’s development and deployment included:
- New cable infrastructure – all offices
- New local area networks and wide area networks
- Systems and network management
- Development centre in Peru
- New email and IM systems
- New thin client computing infrastructure
- New voice over IP systems
- Video communications systems
- Two new satellite offices
- New security infrastructure
- New organisation and operating procedures.
The system continues to be refined and functionally enhanced to increase BlueStar’s business and operational efficiencies. Given the success of the NextStar™ system, BlueStar is also transitioning the system into a software product framework.
A key element of this framework is to leverage grid computing concepts, significantly extending the current volumetric thresholds to 5 million billed accounts per blade server. The use of grid computing concepts also provides seamless disaster recovery, resiliency and reduced operational expenses.
In support of this effort, BlueStar is expanding the Information Technology department into its own subsidiary, Avigent LLC, to be officially launched in July 2009. Avigent™ will introduce this new open source framework that will provide technologies to organisations requiring scalability and utilisation of billing services, such as electricity, gas and water.