home contacts site map
Mobile and Embedded solutions
Free and open-source software integration
Web-based solutions
Quality Assurance and Testing
Custom software development
Global sourcing and management
Database and applications migration
altabel
Home Profile Case study News Contacts Careers
Case study: Web-based solutions
           
  • Online Job Management system
  • Online Ticket Selling Website
  • A J2EE-based Online Loan system
  • Development of a Web Application
  • Development of a J2EE - based online Transaction Website
  • Video Sharing Solution (VSS) on Java for a Canadian Client
  • A Web-Enabled Application for EHS Management
  • Development of a e-Commerce Website for a US Client
  • An E-Commerce Website with DotNetNuke
  • A web application of online marketplace for retail goods
  • A Website Portal Development Integrated with CMS Product
  • Electronic Clinical Trial System Development with SharePoint
  • An Online Marketing Website Development
  • Inventory Management System
  • Contacts Management System
  • An Asp.Net - based Content Management System
  • A Screening Service Website Development
  • Job Tracking System
  • Mail Server Web System
  • Internet-Education system
  • Development of a Java-based eCommerce Website
    with AJAX Framework
  • A Client Relationship Management System
  • On-line Statement Retrieval System
  • Website Automatic Creation System
  • Automatic Online Survey Generation System
  •  

    Objective

    The objective is to develop an online CRM and Job Tracking application meant for tracking thousands of jobs added by hundreds of users all over the country. Users are supposed to have an opportunity to monitor the Job status at each stage of its life cycle. Proper Queuing, Scheduling of jobs for efficient utilization of resources was aimed at.

    Solution

    Job Management system was developed. The application keeps track of a job while it is being processed through various stages starting from the time it is received from the client and till it is delivered back to the client. This web application has various users that may be divided into two main categories - Administrator and Client type users. The users have restricted access to the data according to the permissions set for them. This fact sorted the task management and allocation problem effectively for the client�s day-to-day work. The Job Management System is an example of the application based on OOP.

    Features

  • Administrator and Client login
  • Job tracking by internal and external users at various stages while it is being processed
  • Facility to upload documents along with a Job for better understanding.
  • Facility to monitor and track job status through its processing based on time period specified by user.
  • Invoice facility
  • Formatted printed out put for client order details.
  • Facility to track Jobs within various periods.
  • AJAX based Updating and extensive JavaScript validations

    Technologies used

  • . net 2.0 platform
  • ASP.net
  • VB.net
  • HTML
  • CSS
  • SQL server
  • AJAX
  • JavaScript and Photoshop

    Objective

    The customer requested to develop website specializing in selling tickets online.

    Solution

    Our team developed the CMS (Content Management System) to ensure this website functionality starting from the backend. The CMS was also supplemented by a user friendly navigation system, so that users could easily buy and sell the tickets. Content copywriting and SEO services were also arranged on the website.

    Features

  • Content Management System based website
  • Shopping cart
  • Pay Pal integration.
  • Functionality to explore the website.
  • Affiliate Program for website marketing installed

    Technologies used

  • Linux
  • Apache
  • HTML, CSS
  • My-SQL and PHP
  • Photoshop
  • Flash

    The project

    It is a J2EE based financial platform loan system for citizens from 45 countries all over the world.

    The client represents a new paradigm for effectuating personal loans between family and friends that leverages existing platforms and conventional personal loan infrastructures. The concept provides a safe, sound, and secure method that allows users (consumers) to lend money (using peer-to-peer model) with an email address, all without the consumer having to communicate or share account number information with the lender. It builds on the existing financial infrastructure of bank accounts and credit cards and utilizes the world's most advanced proprietary fraud prevention systems to create a safe, global, real-time loan solution.

    Solution

    Due to the strong support from all parties involved, this project was implemented on time, within budget and full functionality, and achieved a high acceptance rate. The solution is three fold:

    • The right application design
    • The right technology
    • The right implementation team

    The right application design

    The definition and design of the use-cases of the application and the security in both the system and the business was crucial to the success of a nationwide program. Only with the detailed knowledge of the user processes and the technical skills of a state of the art security design house could this type of application be successfully implemented. However, the success is not only attributed to the loan. Another primary success and consideration was the loan's ability to collect accurate data from the entire population.

    The right technology

    Based on the "Run any OS" and "lowest cost" requirement from the customer, we choose the combination of "MySQL+Struts+Spring+Hibernate+SSL" as the solution which is totally free and with pretty good compatibility on any kind of server.

    The open technology also ensured a fast time to market, cost efficiencies, and superior functionality.

    The benefits of using spring are listed as follows:

    • Spring provides a very clean division between controllers, JavaBean models, and views.
    • Spring's MVC is very flexible. Unlike Struts, which forces your Action and Form objects into concrete inheritance (thus taking away your single shot at concrete inheritance in Java), Spring MVC is entirely based on interfaces. Furthermore, just about every part of the Spring MVC framework is configurable via plugging in your own interface. Of course we also provide convenience classes as an implementation option.
    • Spring, like WebWork, provides interceptors as well as controllers, making it easy to factor out behavior common to the handling of many requests.
    • Spring MVC is truly view-agnostic. You don't get pushed to use JSP if you don't want to; you can use Velocity, XLST or other view technologies. If you want to use a custom view mechanism - for example, your own templating language - you can easily implement the Spring View interface to integrate it.
    • Spring Controllers are configured via IoC like any other objects. This makes them easy to test, and beautifully integrated with other objects managed by Spring.
    • Spring MVC web tiers are typically easier to test than Struts web tiers, due to the avoidance of forced concrete inheritance and explicit dependence of controllers on the dispatcher servlet.
    • The web tier becomes a thin layer on top of a business object layer. This encourages good practice. Struts and other dedicated web frameworks leave you on your own in implementing your business objects; Spring provides an integrated framework for all tiers of your application.

    The right team

    The key success factor of this project was the professional large scale project management concept of our team which possessed a clear understanding of the needs of the user and the requirements. The positive reaction to new situations and challenges of the team during the project development proved to be a determination of the success.

    The result

    It offers an advanced, scalable, secure, and proven platform that provides the option to add applications in the future.

    The client

    This is an emerging software design & development company based in UK .

    What the client wanted

    Based on the confidence in us established in the consulting phase ( read the story ), the client decided to choose us as the partner to develop the game-playing system.

    The system includes the following three main parts:

    • A tournament application: according to some special algorithms to achieve the functions like weekly, monthly and annually tournament, watching game, past game review, ranking, chat, online notice and batch email etc. li> A Website: initially the website should be in English and Simplified Chinese. Provision is required for the addition of other languages. It should be AAA or AA compliant to make sure it is accessible to people with disabilities. The website should provide the functions such as online registration, login, search, advert management, news and events release etc.
    • A Content Management System (CMS): to provide a powerful back-end management to maintain the website and tournament application in different level like admin, editor, and translator.

    Challenge

    • Enable the users behind the firewall can play the game
    • Load-balance should be considered in order to extend the system easily.
    • Communication between client and server

    The solution

    Based upon our understanding from the consulting phase, we have learned what the client exactly wanted. In order to develop a salable system with a low cost, we allocated two dedicated architects into this group to take charge of the website and tournament application respectively. In order to keep down the cost of development, the opensource resources were adopted widely in the system.

    As the firewalls are usually placed at the connection to the internet to shield local networks from outside attacks by screening incoming traffic and rejecting connection attempts to host inside the firewalls by outside machines, we are required to enable the users behind the firewall can also play the game to extend our potential amount of users. Considering that most of firewalls are configured to allow HTTP protocol traffic on port 80, to allow users inside the firewall to browse web pages, the HTTP-Tunnel technology was adopted by our team to cross the firewall.

    According to the client, the number of target players would reach hundreds of thousands, which made heavy stress on the server. To balance server load, an independent balance module was worked out by our team to distribute requests to different nodes within the server cluster, with the goal of optimizing system performance. This resulted in higher availability and scalability of the system.

    To solve the communication issue, initially we considered to add the thread-pooling to the server to handle the client's request, however the thread pooling did not scale well due to the time required for context switching increases significantly with the number of active threads. With a few hundred active threads, most CPU time may be wasted in context switching, with very little time remaining for doing real work. Finally, we decided to use I/O multiplexing. In this approach, a single thread is used to handle an arbitrary number of sockets. This allows servers to keep their thread count low, even when operating on thousands of sockets, thereby improving scalability and performance significantly.

    Environment


    OS: UNIX, Linux or Windows based operating system
    Development Tools: Eclipse, Ultra edit
    Development Language: Java, HTML, JavaScript
    Application Server: Tomcat 5.x
    Database: MySQL4.1.x

    The benefits

    • A tangible and substantial development solution.
    • The development cost was largely cut down.
    • High availability and scalability of the system.
    • A reliable and easy-maintenance system.

    The Client

    In competitive commerce industry, venders have to find ways to constantly improve service quality and efficiency in order to retain customers and attract more. This dynamical motivation drove the client, a new start-upped online transaction company, to turn to us for a completely automated and robust IT solution providing its customers with convenient and high-quality services.

    What the Client Wanted

    The client needed a comprehensive e-commerce website running on LINUX, which can be conceived to provide information release, online purchase and payment, account transfer, message board, statistic analyses, report generation, system management, log management etc. Furthermore, a distributive administration is needed for different user with different roles according to the security management.

    We did the entire lifecycle of the website development including requirement analyses, framework design, database design, UI design, implement and test.

    Approach

    We thoroughly analyzed the requirement of the system by consulting with the client. For the sake of the security of the system, we defined several roles containing normal users, advanced users, produces deliverers, accountants, remitters and administrators. Every role owned different permission level to take charge of different job. A message board was also designed for the client to enhance communication with customers.

    We utilized our proven expertise in the domain of e-commerce website development to make a proper design strategy. The system was designed to be compliant with J2EE according to the specification. We adopted a mature privacy framework which was validated through our repetitious practice. The system excellently integrated Struts and IBatis, the two mature and stable frameworks and adequately applied MVC design pattern.

    In order to make the hierarchy legible and straightforward, the whole system was divided into three tiers. The presentation tier adopted JSP and Struts to implement MVC. The BO tier was implemented by adopting business object which was IBatis DAO. Between the BO layer and database, DAO layer adopted IBatis to implement data persistence. We used MySQL as the database to reduce costs.

    Benefits

    • A stable and easy-maintenance system.
    • Shortening the time to market enabled the client to strengthen his competitive capability.
    • Significant cost savings and efficiency were realized by streamlining the process of products transaction.
    • The grouping strategy improved the system's security.

    The Client

    The client is a network company with headquarters in N.S., Canada.

    What the client wanted

    The client wanted to build a website where would be the main destination for people to watch and share original videos on sports worldwide. The three outstanding features of the website included: Watching & Editing: It allows people to watch all kinds of sporting events uploaded by others, from soccer, basketball, golf, skiing, to tennis, etc. and to find videos which they are most interested in. They can also easily upload their own videos and then, edit them. Sharing & Learning: The website is really a wonderful communication platform for sports fans, for they can improve their skill by comparing and sharing their art with peers. Receiving Instructions: Except for learning how to play various types of sports, people can also receive, with the aid of this website, professional instructions from those professionals.

    Solution

    Due to the urgent project schedule, we swiftly formed a seven-member ODC team with rich development experiences on website application after receiving the client's requirements. In the process of the development, the team faced two technical difficulties, that is, how to edit Flash video and to transform videos uploaded by users into FLV(Flash Video) format on server side and then, to use this FLV in Flash. Through lots of research, our project team solved the two problems with the following solutions:

    Edition of Flash Video

    • We solved this problem by using SVG Path Data in Flash. SVG (Scalable Vector Graphics) is a universally readable way to store vector graphic description data. SVG files can be output from Illustrator 10 which makes it a useful mechanism for getting path and color descriptions of Illustrator vector drawings into Flash.

    • The point was how to convert the content of SVG Path tags into drawing commands. We solved this by two parts: The first parsed the path tag into a fill object, stroke object, and an array in which each element is either a drawing command or a number value from the original d string. The second part of the conversion created an array with ASVDrawing-formatted elements. Relative points are converted to absolute ones, and cubic bezier curves are converted to a series of quadratic beziers, using Robert Penner's cubic-quadratic conversion, which recursively calculates a set of quadratic beziers that produce the same curve as the original cubic curve, to within a specified tolerance.

    The Transformation of Videos Uploaded by Users into FLV Format on Server Side and the Use of This FLV in Flash.

    • As the video files users uploaded are usually quite big, it is obviously unsuitable to use simple form file control to upload them. We attached great importance to give users better operation experience. We used files uploading function supported by Flash8, the vantage of which is to gain more use interactive experience through Flash programming.

    • We adopted FFMEPG as video coding/decoding tool and used the way of invoking system order under Java environment to execute coding. Video transformation is a process of consuming the system performance to a great extent, so, we must limit the quantity of system process. Executing only one process by OS can be guaranteed by means of synchronizing Java methods

    • We needed to play FLV files transformed through server in Flash and chose webservice as data exchange mode which has the characteristics of distributivity and object transfer support, and is not restricted by domain. What�s more, its object transfer mode is quite condusive to complicated data structure programming, that is, Java object can be used directly in Flash.

    We always regards deep understanding of the client's requirements from the beginning and mutual communication with the client in a timely manner is the key to the success of the development. During the whole developing process, the team communicated with the client constantly via E-mail or Demo Server to make the process transparent. Once unexpected things happened, the PM would report to the client, and did the best to solve the problems as soon as possible. The PM also provided weekly report during the development. Actually the system analyst would settle all of the possible technical difficulties down during the phase of system design, and a technical support team would be allocated if needed. By this way, the risk of the whole project was almost reduced to the lowest.

    The results

    The software development was completed on time by the active cooperation between the two sides. The application was implemented very well as the client said. After the termination of the contract, the client expressed the intention to cooperate with us on another project.

    The Client

    During the last decade, sustainable development (SD) has evolved from an esoteric concept to a key principle embraced by a number of corporations, government agencies, and non-governmental organizations. More and more companies have explored how it can integrate SD into its own business strategy. The client, who specialized in helping organizations focus on strategic EHS (environmental, health and safety) management and sustainable business practice, asked us to help him with the development work of the EHS management application.

    What the client wanted

    Rapid application development has undergone a transition over the last few years, with the migration of applications from traditional client/server design to the Internet. The customer owned an existing MS Access desktop application. It was urgent that the tool needed to be converted into a web-enabled application. The web-enabled application would provide a platform for some groups in a company that was going to develop SD strategy.

    This application was intended to help companies understand the context of SD, provide a basis for developing an SD strategy, highlight opportunities to create business value and provide a roadmap for taking action. There were a number of specific capabilities the application provided to help companies get started on their journey toward SD, for instance, the tool could establish generic elements of sustainable business practices which provided a comprehensive basis for companies to select the desired scope. It would also enable companies to assess current status, formulate SD goals, analyze gap between the current and desired position, which provided the basis for developing action plans. Besides, it would be able to clarify the potential business value associated with particular SD initiatives and provide guidance and support development of an action plan.

    Approach

    The development of the project complied with RUP standard. Our engineers began with studying the existing desktop application and comprehensively understood the relevant business processes and functionality. After conceiving the user cases, we started the prototype design. The UI supported the dynamic change i.e. when the mouseover event wason any icon in the navigation, the relevant text would present in the main frame. The several EHS elements cycled through the interface at intervals.

    Our delivery model was successfully utilized in this project. The whole system was divided into 3 layers according to the model. The Web Layer adopted the Struts framework and the persistent layer introduced EJB technology to make the system a real standard J2EE application. EJB proved itself a good criterion in the aspect of database access, transaction management and persistence management. Besides we added permission control to the system. The database was DB2 and the server was Weblogic.

    Benefits

    • The development cycle was greatly shortened by utilizing our delivery model.
    • The interfaces were clear, simple, intuitive and the system was easy to use with minimal training.
    • The system's compatibility, stability and flexibility were guaranteed due to the adoption of EJB.

    The Client

    Our client manages a big fashion store located in US.

    What the client wanted

    As a hotspot in current IT days, e-commerce website offers a new information and sales vehicle for companies by giving benefits not available with traditional trading methods, 24X7 customer access, and reduced cost. The client wanted to increase its clientele through effective but inexpensive marketing, an e-commerce website was thereby the most suitable option. And we were chosen as its partner to build their online storefront. The site needs to satisfy the basic needs of end users, as well as some other features to attract and retain customers:

  • User registration
  • Product classification by brand and style
  • New arrivals release & notification
  • Search engine
  • Frequently asked questions
  • Box of suggestions and comments
  • Site map
  • System management
  • Product presentation
  • Dynamic preview
  • Shopping cart
  • Account
  • Customer service center
  • Log analyze
  • Approach

    The following activities were included in the process of the development:

    Since the client only provided application functional requirement, we recommended developing the online store using the technology of Struts after doing in-depth e-commerce requirement analysis by working in conjunction with the client,

    The design stage which is supposed to be the most important in the whole lifecycle involved planning the architecture of the site and the details of the shopping experience. our team spent much time to make sure that everything was exactly the same as what had been required.

    Following this came the implementation phase. The programming was executed in sync with the database design to bring the prototype into a real, efficient application on the web. We executed RUP development and adopted MVC design pattern. The framework involved Struts, DOM4J, JDBC, iText, JavaScript, XML etc.

    The final fine tuning was adopted at last; minor changes in code and subtle design changes were done to improve the looks and navigability of the website.

    Some of the featured solutions we provided to meet the online store's functional requirement are following:

    • Shopping cart - Customers could order products, track the status of the purchase and have exchanges due to the wrong size order.

    • New arrivals notification - A personalized email and calendar reminder script was written as well for the form which enabled the end users to be informed of new arrivals based on their previous purchase and the date of order and delivery.

    • Product presentation - The profile of the products could be presented through multiple angles, different color and size, moreover be magnified. Size contrast chart containing the standard of US, EU, UK was available and the products could be displayed dynamically to provide a vivid image.

    • Account - Statistics on click rate was available so that development strategies could be adjusted in time.

    • Customer service center -A back office including product managements, user management, system maintenance and image management was implemented by building a back-end component to the website using PostgreSQL and SQL Server.

    The result was an aesthetic, robust and neatly organized website that reliably performs all the functions listed above exactly as the client required and the storefront was interesting and inviting.

    Approach

    • Time-to-market of new products was dramatically cut down and sales opportunities of the client were significantly increased.
    • An extensive increase in customers' satisfaction.
    • A reliable and easy-maintenance system.
    • Development and maintenance cost had been slashed.
    • Dynamic & database-driven management of the storefront.

    The Client

    This is a software development company in Netherlands .

    What the client wanted

    The client wanted two DotNetNuke modules providing functions of windscreen online designing and booking. The modules must be compatible with DNN 4.x. The first module was "step menu", which enabled the users to switch between steps of the design and display summary of each step. The second module was "Design module", which was the primary module and provided UIs to users for designing and booking windscreens. In this module, users could define the size, color, logos, text lines and description step by step. And the users could also preview the windscreen in each step.

    Technologies:

    • DNN 4.x module Development
    • Visual Studio 2005 development tool
    • Dot Framework 2.0
    • Windows Server 2003
    • IIS Server
    • SQL Server 2005 database

    Work amount:

    30 man-day

    Approach

    The function of the project was not complicated but covered vast range of the field, such as DNN module development, DNN Schedule, Multi-languages support, Email function, DAL data access layer, Online product design function, Order generation management, E-commerce and so on. According to the requirements of the client, we coded to realize the functions of the modules, conducted the Alpha testing and then fixed bugs.

    In the work process, the challenges were the interaction between the two separate modules and the support of multi-languages settings. Different solutions were adopted to solve the problems.

    -As the module in DNN was an independent function unit and could be added or deleted, it was difficult to realize the interaction between modules. The project required the step menu module to achieve the saving of the main module and the switch of the steps. In order to avoid complicated flow control, the client end adopted simple scripts. Since only the callback scripts generated by .net were adopted, the compatibility of the browser was not interfered.

    -As for the multi-languages setting function, DNN had strong multi-languages support, so it was easy to use multi-languages. But the documents on the web pages and the templates of the emails were the dynamic information set by the administrator. They can not be realized by static source code. So in the administrator control panel, a language selection was provided, which enabled the administrator to change the settings of different languages.

    Our experience in DNN

    DotNetNuke is a CMS (content management system) in open source coding, so its functions will not be restricted extensively. DNN is the most popular CMS, which makes the support from the third party extensive. Lots of commercial and non-commercial modules and controls make the extension of its function convenient.

    Almost all B/S Applications based on .net platform can be developed by DNN. A lot of modules, such as Announcement, Feedback, Forum, Blog, Mini-commercial store etc, can be found in the official web site of DNN. With these modules, we can create a nice web site without any code.

    The Client

    Our long term partner which is a UK Internet company thriving on innovation and excellent design.

    What the client wanted

    In order to provide a platform on which both the buyer and seller can conveniently and effectively bargain and trade with each other, the client desired an online marketplace for retail goods. This platform would be a public user website that allows buyers and sellers of retail goods to communicate with each other and allows sellers to compete for a buyer's needs on price and specification of goods.

    Solution

    we began with the analysis of functional specification. In order to quickly understand the function, we reduced a lot of processes to several modules. The detailed analysis was carried out and the exact work flow was agreed on by the communication with the client. The notable feature of the website included membership's confirmation by clicking on the link in email, buyer's request for desired goods, seller's making offers against given requests, seller's payment for sales leads, automatic operation like various email and SMS alerts etc.

    Throughout the design phase, we followed standard architecture layout designs for multi-tiered applications and adhered to the principles like componentization, CSS control and stored procedure for all the database operations rather than inline SQL. The prototype and UML Class Model design was firstly implemented. The architecture of the website was still the typical multi-tiered structure involving presentation tier, business tier and data tier, which had already become the technology that our team was skilled enough.

    During the implementation, all the functions of the website were well realized and all screens passed the validation service for XHTML 1.0 and CSS 2.0 as defined by W 3C . To some scheduled events, for instance, on the event of 12 hours before a request expired or when a request reached its expiry date, the time email for reminding would be sent to sellers, this was implemented utilizing the Windows Scripting Host in the Scheduled Tasks System in the control panel. Simultaneously, test engineers took part in to ensure all functions worked properly. For the sake of client's tracking of our working progress, the weekly work report and milestone were provided to client.

    Technologies and Development Tools:

    Development Tools: VS.Net 2003

    Program language: VB.NET, WSH, VBScript

    Database: SQL Server 2000

    Browser: Internet Explorer 6 (or greater)
    Opera 8 or greater
    Mozilla Firefox 1.0 or greater

    W 3C standards: XHTML 1.0 and CSS 2.0

    The benefits

    • Componentization reduced recoding on similar functions, which greatly improved the work efficiency and facilitated the maintenance.
    • The implementation of stored procedure better prevented the injected attack and made the code clearer.
    • The compact and coherent development flow greatly shortened the development time and quickened the time to market.

    The Client

    This is a Dutch insurance consulting service provider who is dedicated to offering custom business solutions for mid-site companies.

    What the client wanted

    The client needed a products selling website with many portal functionalities in a quick and structured way. Through the website, visitors could understand the content and the advantages of their products. This website aimed at attracting more potential customers in Netherlands. Several new features had to be developed like dynamic update by a specialized asp.net CMS product. And several forms, like log-in form, password request form, password forgotten form, order form and contact form, should be created.

    The key point of the development was that the website had to be fully integrated with an open source CMS product. All the content modification and addition of the website as well as the site structure must be realized by Rainbow Portal CMS tool. It was also required that the website and the CMS part had to be fully secured against possible intruders, and the website had to be optimized for the Google ranking system.

    Approach

    With extensive experience in CMS development, our engineers had no difficulty in understanding the requirement. The website was built on Microsoft .NET Framework 1.1 and SQL Server 2000, using the technologies of IIS, ASP.NET and Rainbow framework. Rainbow portal CMS is an open source initiative to build a comprehensive content management system using Microsoft's ASP.NET and C# technologies. It is a powerful tool allowing content authoring to be safely delegated to role-based team members who have little or no knowledge of HTML and supporting e-store, XML news feeds, Flash, Maps, Newsletter, Surveys, Forums, Document Management, Custom Lists, and etc.

    The security design in the portal made use of both authentication and authorization. Authentication was the process by which the application verified a users identity and credentials. Authorization then verified the authenticated users permissions for a particular requested resource.

    Benefits

    • Quick deliverable process
    • A fully secured website against possible intruders
    • An extensible and scalable website with Rainbow framework

    The Client

    The client is a clinical healthcare provider from US, who focuses on providing various medical care services nationwide.

    What the Client Wanted

    There had already existed a system performed as information central that offered access to all appropriate clinical information for a given set of users. The system which was based on Microsoft SharePoint Service technologies enabled healthcare practitioners to get timely information and make decisions for the patients, so largely improved the efficiency of communication and collaboration. Prior to production, there was still a lot of development work needed to be done, thus, the client turned to us to fulfill the development work. The work included audit trails functionality, workflow features, data validation, data analyze and reports, and furthermore some web parts development tasks that provided new functionalities to enhance the original system. Most of the work must comply with the 21 Code of Federal Regulations 11 compliance (21 CFR Part 11) of U.S. Food and Drug Administration (FDA).

    Solution

    Our veteran SharePoint engineers firstly anatomized the original system including the functionalities and framework. Depending on our engineers' good understanding on the object models of SharePoint as well as InfoPath, and through the effective communication with the client and quickly learning of FDA documents. Our team well understood the whole structure of the system and the detailed requirements in a short time.

    Subsequently, we quickly set up a development team. The detailed requirement specification and project plan were provided to client. In order to make client well track our work progress, the daily and weekly work reports were sent to the client.

    Audit Trial function, which required any change to data stored on electronic media, is a basic requirement in the data process; the engineers developed a SharePoint document library event handler assembly to capture any event that the InfoPath library raised. Basing on the great XML processing ability, the engineers worked out the function that could help to find any change (add, update, delete) to the InfoPath form, then any change to the InfoPath form would be saved into the database. Audit trail web parts on the SharePoint site displayed the data, so the search, ordering etc were added into the web part.

    In the next version, SharePoint would support workflow feature such as the authentication of InfoPath reports' access and actions, automatic email notification etc. By utilizing current version (Microsoft SharePoint Portal Server 2003) we had built our own workflow and added it into the SPS site. After evaluating the workflow engines like Microsoft BizTalk 2004, Skelta Accelerator 2004 (www.skelta.com) and so on, we decided to develop our own workflow engine to realize the workflow features so as to save much development cost for the client.

    The InfoPath form XML data, taken as the data source when generating reports, was requested to be saved into database, so was the clinical data that must be consistent with the clinical research and clinical care database. We developed some XML web services to analyze and aggregate these data into database.

    With regard to the clinical trial data and report, we used Microsoft Report Services and Data Transfer Services as the data report platform and displayed information in the report service web parts and third parties tools like DSPanel, which proved very effective and efficient.

    InfoPath development included automatically locking and freezing some fields of an IP form or the whole form, automatically getting data from the SPS site lists as well as data validation. Our skilled engineers in InfoPath added rules/data validation into the InfoPath template and wrote necessary Jscript code to realize to lock/unlock function, also the web service to get data.

    In addition, we developed some web parts that provided new functionalities to enhance the original system. The "Enroll site" web part we developed was used to let users be able to create a new sub site for the current site. Users could select available sub site templates available from dropdown to create sub sites. The "Push documents" web part was used to push documents from the parent site to sub site. In this part, we suggested the client to adopt the tree structure to show the site's organization hence let users be able to select multiple documents and sub sites at a time to operate, which was very convenient for users. Users could select library, folder and document to push to sub site.

    Environment

    OS: Window Server 2003
    Development Tools: Visual Studio.NET 2003, SQL Server Business Intelligence Development Studio, MS Office InfoPath
    Development Language: C# + Jscript + XPath
    Application Server: IIS6.0 + MS SharePoint Portal Server 2003 + ASP.Net
    Database: SQL Server 2000, SQL Server 2005 Beta2, SQL Server 2005 CTP

    The Benefits

    • The development cost was largely cut down by choosing the newest techniques.
    • Modern project management method was implemented, which brought the development efficiency and accuracy.
    • The well considered and designed system structure improved the system's extensibility and flexibility.
    • Choosing the standard techniques like XML, Web service, XPath and so on made the system easy to maintain and upgrade.
    • A better controllable SharePoint site was available by more web parts developed.

    The Client

    The client is a North Africa's IT consulting service provider who is dedicated to offering custom business solutions for small and mid-size companies.

    What the client wanted

    To help customer enlarge its marketing reach by gaining visibility through high-profile marketing actions and attract more potential customers, the client turned to our skillful team to develop an online marking website. The main features of the website included: the existing and potential customers could register and access personalized lists of newsletters and upcoming marketing events; the members could then subscribe to newsletters and events.

    The personalized newsletter/event lists were built according to the profiles which were carried out for each new visitor who registered on the website. Each action would be assigned a target profile at creation/update. When retrieving the personalized action list for a given member, the business logic would match value in each action's target profile with the member's profile values to determine whether the action should be included in the list or not. Another important point was that this system must be highly evolvable and re-usable to allow a later extension, and be secure with regards to the marketing data.

    Approach

    After the completion of development, the system could support Register online, User login, Update account information. When a user registered online, he would fill out and submit profile form; the password would be retrieved via email. After logging in the system, a list of newsletters and events would display matching the user's profile and then the user could add/remove subscriptions to newsletters and events; email alert was also sent to user to notify of the modifications. Administrator could create/update/delete marketing actions, view/add/remove subscriptions and create/update/delete newsletter issues. Moreover, they could send out newsletter issue/event reminder alert, search accounts and view attendance history etc.

    Benefits

    This is a stable and easy-maintenance system with good scalability and reusability. Our extensive experience in website development made the development time largely shortened, which quickened the time to market.

    The Client

    The client is a leading exhibition software development and management services provider in Canada. It specializes in delivering services to leading exhibition producers and industry associations.

    What the client wanted

    Our client needed a web based application which would enable its warehouse and technical staff to manage its IT asset inventory. This application should include the basic functions such as user authentication, data add/edit/delete, combination search, administration, report, data dictionary etc. In addition, scanner support should be available. Quick response as well as good performance was also demanded with the addition of data records and functionality in the future. The design could be scaleable due to the future additional functions like item export, diversified report support and jpg/gif pictures'addition.

    Approach

    In virtue of the proven methods and rich experience in the field, our skillful engineers promptly completed the development with ASP.NET on top of SQL Server 2000 database.

    The prototype and database designs were performed after requirement analysis. The structure of the tables in database was furthest optimized to meet the demand of quick response and scalability. The engineers utilized CSS to design the user interfaces.

    With this system, users could be enabled or disabled in user setup area and search information by item's ID, type, use purpose, location, status, manufacturer etc. The reports by location, use purpose, status or type were achieved; moreover, the Casio DT-X10 wireless LAN scanner was supported.

    Benefits

    • A quick response and good performance application.
    • The application made the asset management more effective.
    • A scalable and expandable application.

    The Client

    The client is a US software company who focuses on designing and implementing custom business solutions (built with standard off-the-shelf software) that improve productivity and increase competitiveness.

    What the client wanted

    The client's existing system was an IT solutions provider specializing in document management, corporate portals (internal and external), workflow, EAI, and wireless access to the above. According to client's requirement, our company was involved to do the following development for this system:

    • Develop an ASP.Net application so that when adds/changes/deletes happened, the changes could be saved in the Access database and also to a standard WSS (Web Services Security) contact list.

    • Create a new web part that was used to send emails to the people who were checked off.

    Approach

    We thoroughly analyzed the requirement of the system by consulting with the client and three-tier model was adopted in the development which included Presentation Layer (realized by ASP.Net), Business Logic Layer (realized by C# components) and Data layer. Data layer included Data Access Layer (realized by iBatis.Net Dao) and Data Persistence Layer (realized by iBatis.Net SqlMapper). A custom Web Part retrieved all contacts using Sharepoint sdk and displayed these contacts. User can select contact from the list and send email to the contact person.

    • Presentation Layer ContactForm consisted of a series of UserControl. All actions on the Presentation Layer were handled by UserControl, which was explicit to ContactForm. The events triggered by UserControl were handled by Control Layer, and displayed in the next interface.

    • Business Logic Layer processed system business by calling Data Access Layer and Sharepoint Web Service.

    • Data Layer used IBatis.Net O/R Mapping tool, including all data access code that are used.

    The Client

    The client is a Dutch insurance consulting service provider who is dedicated to offering custom business solutions for mid-size companies.

    What the client wanted

    Our client needed a more advanced website with a legible structure and an easy-maintenance support system. The homepage of the website should provide the potential customers a clear view of what kind of services the client offered. The most important issue was to develop a content management tool through which all the contents of the website including texts, pictures and files could be easily managed through friendly user interfaces rather than changing code. The work in the first phase was to develop the Dutch version and later some other language versions.

    Approach

    After precisely understanding the requirement our engineers launched on the data model design as well as the control model design. The prototype design was subsequently performed according to the lay-out principles of the website.

    This was a two-section development project: the public section development and a content management tool development. The function of the latter wasnt thoroughly defined in the requirement but was the core and most complicated part in the website development. The architecture of the whole website, the pages and the files provided by the website should be managed by this tool.

    In order to simplify the future management and maintenance for client, we had all content effectively organized to enhance the work efficiency. We divided the content into picture library, file library, channel, page, paragraph, list etc.

    The technologies we used include C#, ASP.NET and SQL Server.

    The Client

    The client is a US screening service provider who specializes in providing the criminal, eviction report and screening service.

    What the Client wanted

    The client wanted us to develop a website to provide criminal and eviction search for some registered users. Because there weren't any data existing in the database, firstly we were required to connect to others through Web Service to get the data we need and show them to the users. Whereafter, the client asked us to grab the original data from websites, parse them and put them into the database, so the data could be utilized later.

    According to the client's requirements, the following functions should be performed on the website:
  • User Registration
  • Sample Searches
  • Eviction Search
  • Social Security Trace
  • Criminal History
  • Billing Report
  • System Management
  • Price Setup
  • User Tracking
  • Search History Review
  • Offline Search
  • XML Gateway
  • Approach

    We helped the client realize its purpose by implementing the following main aspects:

  • Because the client couldn't provide any data, we had to connect to other websites to get data we needed, any errors on others may cause the errors on this website. Customized email was provided to let the client know what error his user met while performing the search to get back to the user as soon as possible.

  • We had to request different websites to get the result, but different website may provide the result in different format. In order to display them in a better way, we wrote a XSLT file to reorganize the format.

  • Because the database was extremely big, (almost one hundred tables, and some tables have millions records)we used MS SQL2000 as the database to improve the efficiency and stability

  • The original data were very big, chaotic and complex; it was very difficult to parse them. We firstly wrote some codes to convert them into .csv file so we could use Excel 2003 to process them to the standard format and put them into the database.

    Benefits

    • Easy to update the database as the client required
    • Email tracking and reporting could increase the customers'satisfaction.
    • High performance and easy- maintenance system.
    • Distributed development reducing the cost.

    The Client

    The client was a leading software consulting company in US. One of its customers was in pressing need of a system that could keep track of the progress of work

    Challenges

    The Job Tracking System as a management tool would be used to establish, track and manage jobs or projects. Moreover, it should be able to distribute different levels to different roles. Our company was required to participate in the entire lifecycle of the development from framework design, UI design, coding, implementation, and test to complete technical and user documentations.

    According to the customer's requirement, the system was comprised of several components in terms of security levels. The operation in each component function was dependent on the security level of the user.

    The core of the system was job component, in which users could create new jobs / projects, assign tasks, maintain job information, close assigned tasks etc. Each job could be separated to different phases and each phase to different tasks. Some special users could change job status and add/review notes as well as working hours. Other components included administrator component, homepage component, report component, search component and contact component. System administrators were able to make changes through administrator component instead of modifying program code, for instance, they could distribute user levels, modify system parameters, set data grid etc. Some features in other components included job progress reports, keywords search and so forth.

    Additionally, many functions would be expanded or added in future releases.

    Approach

    The system used .NET Framework 1.1, C#, SQL Server 2000, and ran on a Windows 2003 Server. Other technologies included ASP.NET, XML, and JavaScript etc.

    In the process of development, we strictly conformed to the RUP (Rational Unified Process). Our developers completed detailed architecture design and class design after thoroughly analyzing the requirement. We utilized the popular design patterns like Facade Pattern, Single Pattern, Factory Method, Abstract Factory etc. These design patterns realized a conceptual solution to fulfill requirements. Considering the security and maintainability of the system, we recommended 5-layer hierarchy for the system, which contained UI, Controller, Business Logic Layer, Data Access Layer and Data Layer. In the design of UI, we conceived complicated role-based user interfaces by which different users with different security levels could access to different components to realize the role-based control. The controller was responsible for the communication between UI and BL, which was a good approach effectively separating UI and BL. Data Access Layer utilized the framework DAP (Data Access Process) designed by our developers to efficiently implement the O-R mapping and access to the database.

    Our QA department was involved in the test process. They tested the system from functionality, compatibility, load to regression respectively to ensure the quality of the system.

    The features of the approach

    Depending on the extensively practical experience on system development and maintenance, we have a deep understanding about the significance of system maintenance and scalability, hence we suggested our client to adopt the 5-layer architecture to assure the flexibility and security.

    Our team created a new framework DAP with its extensive knowledge of .NET. DAP is an object-relational database (O-R) mapping framework through which records in database table can be easily mapped to objects. Furthermore, it is an extensible and reusable package that can be freely configured in any project developed with the programming languages that conform to Common Language Specification (CLS). It also provides the interfaces that end users can customize to map objects to other persistent storage such as xml file, plat file etc.

    Benefits

    • Intuitive and easy-to-use interfaces were available
    • The well-designed and reliable architecture guaranteed the security of the system
    • A highly easy-to-maintenance and scalable system
    • The use of DAP made the access to database more effective and convenient
    • The comprehensive test excellently assured the quality of the software

    The Client

    It is a Norwegian consulting company which specializes in providing project coordination and management services between offshore vendors and local buyers.

    What the client wanted

    Smooth communication among buyers, our client and vendors are critical for the success of the client's business. Thus, our client needed to develop an e-mail system with which all the three parties can communicate together on a per project basis. This system should provide an overview of all e-mail communication that had taken place in the project. All details of the e-messages that had been sent and received among the three parties were available without revealing the real e-mail address of buyers to vendors and vice versa. In addition, the privilege setting of the communication on a particular project should be available and the test work must be implemented on the client's server.

    Approach

    Our dedicated developers thoroughly analyzed the specification and complied with RUP to develop the system. The system architecture was then structured accordingly. The system could be easily administrated via two configuration files. E-mails must be pre-processed before being sent. The system then converted the real e-mail address of the sender into the client's e-mail address and converted the client's e-mail address to its real address in receiver's case.

    A copy of each e-mail sent with identification of the project during the e-mail communication process could be also sent to a specified mail box which worked as archive of a certain project so that all the e-mails could be categorized under a particular project folder, resultantly, the system was able to specify who was allowed to communicate in a particular project. The wildcards were acknowledged and the search strings were supported. At intervals, project progress reports and other e-mails regarding a particular project were sent to the persons involved in the project.

    Environment of Mail Server web system:

    • Hardware: server which supports Linux
    • Operating system: Linux
    • Application Service: Apache + PHP
    • Design tool: Rational rose
    • Source code control: Visual SourceSafe
    • Defect tracking: Test Director
    • Programming language: PHP

    Project description

    The project was written in Java before; it had caused lots of technical glitches for the client's customers. To run the system, Java runtime installation was needed, and the program must work through firewall.

    Approach

    Our team redeveloped the system and met the requirement for Internet-education. It now works usably and flexibly for both coaches and students to have real-time communication as if they are in a chat room.

    System key points

    In order to ensure the coaches' leading status, we adopted different system log management methods to separate the coaches' authority level.

    The workshop (chat room) needs coaches, tutors to manage in real-time, so the system offers different interfaces to coaches and tutors and students in view of the different authorities. And there are question menu and help document in the coaches' interface for them to answer the students' questions.

    The balance between flexibility and interaction speed was realized through the roaster counting management and the users' voting management.

    The client

    This is a new created e-business company based in US.

    What the client wanted

    This client desired a web product that consolidates users shopping services such as gift card purchase, exchange, and management, coupons and offers, and product advertising information. For the first development phase of the project, the following parts are required:

    • Public pages: This include home page, about us, company profiles, register and login page

    • Search: This area is always available for the user. The user could be able to search against the whole website for any particular item of interest, and review the rough search result. The more detailed information about the result will require the user be registered on the website. When the user is given the results the user should be able to drag the item of interest into a wallet area.

    • Inbox: This is a private area, only open to the logged in user. From this area, the user will have the ability to toggle the visibility of the Inbox. Within the Inbox will be the receipt of marketing information targeted by the manufacturer or retailer specific to the user, and/or any relevant messaging between users in the network, From there the user has the ability to drag the item from this interim holding area into the center work area to display the contents or details of the item or directly drag into the relevant wallet area.

    • Wallet: It is like the favorite of the IE, but it is categorized area. The user has the ability to drag and drop any Item of Interest in their Consumer Wallets, but, the item must be relevant to the wallet itself. For example, the consumer cannot drag a Coupon Item into the Gift Card wallet.

    Challenge

    • The project schedule was very tight.

    • Client's requirements were not fixed and need to be optimized during the development process.

    • The database structure was flexible, and we must address the continuously additional requirements from the client.

    • We would provide more constructive suggestions for the future development after the alpha version release.

    Approach

    Considering the tight project development schedule, we allocated a team of three veteran engineers to speed up the design and development process. According to the client, for the first phase, we relied upon the Backbase set of JavaScript libraries to help define the initial and main components to save time for development. In the mean time, we can always redevelop the necessary components for client's special needs. For the backend components of the system, we only coded some necessary functions so the front-end requirements and database connections could be handled correctly for the presentation of the website. Finally, through the hard work and full customer support the project was completed successfully within the timeline and budget.

    Environment

    OS: UNIX, Linux or Windows based operating system
    Development Tools: Eclipse, Dreamweaver, Ultra edit, Backbase
    Development Language: Java, HTML, JavaScript, XML
    Application Server: Tomcat 5.x
    Database: MySQL4.1.x

    The benefits

    • A tangible and substantial solution was provided.
    • A reliable and easy-maintenance system.
    • An attractive website was developed by choosing the newest technology
    • The short development lifecycle dramatically improved the customer satisfaction.

    The client

    This is an Australia-based software services provider.

    What the client wanted

    The client wanted a CRM (Customer Relationship Management) system referred to sales for automobile and accessory, client archives management, etc. It would be a highly effective, best-of-breed, easy-maintenance management system. The main function modules should include customer management, vehicle management, organization management, lease management.

    Our team was involved in this project from the analysis phase, went through design, development, implementation, and test.

    Approach

    We strictly conformed to the RUP (Rational Unified Process) and drew up an implementation plan for the entire system.

    We began with analyzing the customer's business requirements. In this phase, we focused on finding and describing the objects according to client's requirements to make initial estimation and plan but not define all the requirements, to avoid frequent changes. In the following elaboration phase, we gradually acquired more and more requirements or changes from our customer.

    The system was originally required to be built on SharePoint. But with the continuous increase in the client's requirements, it is not competent for the more and more operations. To solve the problem, we chose smart client and migrate the core functions of the original system into the new Smart Client procedure.

    Since the system needs to deal with a large amount of data and retrieve the data when page refreshing, which resulting in very strong pressure to the server. We cache the data in local computer to realize data synchronization when the system is idle.

    Considering that users are familiar with Office 2003, we created the application with Office 2003 look and feel by using Janus WinForms Controls Suite.

    The feature of the approach

    Offline Application block and the Clickonce were introduced to the development with which the offline editing functionality was realized. Users can download data from the Internet and then work on it while offline. This offline architecture provides cost and performance benefits.

    The client

    The clinet operates throughout Scandinavia and Germany, providing a range of easy-to-use financial services. Its UK business is based in Nottingham and was established in 1994. IKANO provides customized convenient financial products and support services, including multi-product credit services to multiple retailers, store and budget card, interest free credit and interest bearing loan agreements.

    What the client wanted

    In order to establish its customer service network, the clinet needed to develop an On-line Statement Retrieval System, which enabled the customers to retrieve their statement, including information in transaction history, balance, credit limit, etc., through the company's website In addition, this system should offer a back-end administration system to the administrator.

    Approach

    The key elements of the solution are as follows:

    • The conversion of the EBCDIC code data file to SQL Server 7.0 database. The EBCDIC file, with the record format of 500 bytes fixed- length, comes from another system, which records the recent one month consumption details of each account. In order to import the EBCDIC code data file into SQL Server 7.0 database, we need to convert the data file of EBCDIC code to ASCII code and then write to database.

    • The on-line generation of printable bill with changeable format. Another function of the system was to offer on-line bill inquiry for the customer. Different customer might get different account format after login, i.e. with or without Logo. To achieve this function, we needed to offer a customizable template. We adopted PDF for development. The different PDF templates could be added to the different customers. When the customers login and inquiry their bill, the system used the corresponding template and the data imported into the SQL Server database to generate a PDF file for customers to view and print.

    • View bills after the installation of Acrobat Reader4.0 at the customer end.

    • Users could not view the bills with Acrobat Reader4.0 or former version installed at the client end. We named the PDF file according to the user session ID and linked the URL address of the file to the browser. In this way, the PDF files could be viewed by all version of Acrobat Reader.

    Benefits

    Our team adopted the three-layer architecture (Business logical layer, Business data layer, Business presentation layer) to design and develop the whole system. Such system has great flexibilities and capability for future development.

    The client specializes in providing e-business services which include registration and issuance of product information, inquiry and feedback of supply and demand ?? information, development and maintenance of enterprise websites and so on. We developed the application that met the requirements for website automatic creation, real time contents update and client information automatic matching. The system implemented by us ensured efficient management for our client.

    Project description

    The client-side software in the XP style has powerful functions. Certain users can directly logon to the "Clients' Web Application Server" online to change the elements, such as words, pictures and background music on the website interface, and can even freely change each part of the website, and upload the updated the website through managing the module data in the forum, message board or online order, etc.

    The privileged manager has the right to examine, change, add, and delete module data of any common users on any website by entering the "Manager's Web Application Server".

    Project description

    This automatic online survey generation system has lively and friendly interface, powerful functions and flexible navigation. The system can be used in various industries and products. The front-end survey page which was dynamically generated with FLASH catches much attention among other traditional online query systems. Meanwhile, the back-end management system built with JSP displays all data in the database in the form of table, offering a more convenient and visible way for the manager to edit the questionnaires. To generate the final statistical files conveniently, the manager only needs to click a menu item in the backend management system. Thus the statistical process time are greatly reduced.

    We adopted FLASH to generate the front-end portion of the survey system and used a lot of Action Script, which makes the whole system not only be capable of displaying the abundant graphics, cartoons and sound of FLASH, but also ensure the flexibility of data modification (changing, adding, deleting).

  • Home Profile Case study News Contacts Careers