About Me

My photo
Bandung, Indonesia
IT Professional, Institut Teknologi Bandung

Friday, August 21, 2009

Monitor and Take Over Job of Your Staffs without Their Passwords

Your staff is not working and You are as manager want to take over of his/her job temporarily.

The case is not your problem, in your application, you are as super-user that automatically monitor job of your staffs. And you no need to know their passwords.

What is different with LightArmy using 'Access As' feature? This feature giving more specific and detail settings for each staff not only for all staffs. You also see the same appearance as in your staff display.

Delegate Your Application without Telling Your Password

You may in difficult situation at the time you need to leave your office and your application very important and can not be given to any employee easily. But you must delegate some very important applications to your employee in order to keep your business operation and not willing to close your office.

If you are telling your password, means that all applications can be opened. And more dangerous is your applications record all activities inside at the time you leaving is performed by your self, terrific isn't it!. Your trusted one telling your password to another or his/her password note accidentally disclose to another. Your application is used by unknown people and can jeopardizing you.

You may have your solution, using written statement if you giving your password with clear definition of rights and responsibilities. But are all problems solved completely? How difficult of doing?

LightArmy provides 'Access As' features to simplify your some applications delegation efforts without telling your password to another and your application access records as is. You don't need to open all your applications to another.

Integrate Your Java Appliation and PHP using LightArmy

Your company has Java applications. You may face a difficult situation to maintain that applications and recognize that PHP is solution to your problems. But you still using that Java applications.

LightArmy can integrate your Java applications and PHP easily. LightArmy supports Queue system using ActiveMQ server by that your Java applications can communicate with PHP. Java and PHP integration can be done easily.

Thursday, August 13, 2009

Integrate Your Offices without Dedicated Connection

LightArmy provides foundation to integrate your application from many offices separated geographically. These applications from many offices can be integrated only using internet connection and no need to lease your own network (dedicated connection) expensively.

You can create real-time integration and you need uninterrupted connection or on-demand integration (synchronization). You can develop your offline application that can be used without network connection and if connection exists will automatically trigger synchronization (integration) or manually.

You can even facilitate your field employee(s) using offline application (and mobile) that can help them maximize doing job. After come back to the office, can be synchronized and no other entry.

Links:

Cutting Your Total Cost of Ownership using Web Application without Internet Publication

Web-based application provides more benefits than window-based application as explains in "Broader application access range and cutting operational cost at once".

Many peoples think or make assumption that web application (web-based application) must be published to the internet. You may one of that peoples

Exactly, we can take the biggest benefit from this kind of web-based application, that is its unlimited access range, from every where.

To utilize this kind of application, you do not need the newest computer. Your only need is your preferred web browser and more of that is free. No other preparation for computer to access that application.

You even do not need to buy your operating system. You can use any available free operating system.

How about window-based application, you need to pay all of that. Including fee for your technician doing installation on every computers for application access. How if there are updates or fixing ? You must again spending your works (time and money and operational interruption) to make that updates or fixing available.

Links:

Sustaining or More Competitive utilizing LightArmy

If you have the same business process with your competitors, you are not competitive. If you want competitive, you need to orchestrate your business process uniquely as your specific goals.

If you are utilizing the same application as your most competitors use, you are no more competitive and your opportunities for success will be less. Being competitive is not must utilizing any costly because if you do that your business operation even in not competitive position.

Having application (system) that can support you maintain your competitive business from time to time is one may you need. Application or platform than can be adapted easily or created easily and fast to support your unique created business process. Utilizing LightArmy, you can do more with less, for your competitiveness.

Links:

Do More With Less utilizing LightArmy

LightArmy features are provided simplicity for application delivering to keep your business competitiveness. Using this simplicity, your application needs will be delivered faster and even consistent or predictable.

This acceleration will causing more application can be delivered to support your business (changes).

If you are never develop your web application from scratch, lets you ask your programmers the time needed to fulfill your application. LightArmy can help you create CRUD database application only in minutes and not tens or more. Campare if you create that from scratch that can cost you days or even weeks.

Links:

How do you cutting your training budget utilizing LightArmy?

How much cost did you spend to ascertain your application user do job correctly with that application, thereafter will not jeopardize your business process(es)? You may send your employee(s) for that training at training center and then make them as your internal trainer. There are other problems that your business process is complex (not simple enough) and impossible to be handled by some peoples only, because every specific application is different.

How if your user is resign or not available for you anymore? How if your trainer is resign or not available for you anymore? Will you do send for training again? Will you ask to the old one giving short course for the new one?

How much that cost you again? Do your business process fine or uninterrupted? Your customer can leave you only by simple mistake of your new employee.

LightArmy provides incredible help system. LightArmy provides help center and help context-sensitive. Utilizing this feature information of application usage and other process(es) business that need to be explained, can be accessed easily and fast by user for learning or provides specific guidance for application in use.

Moreover you can create your own guidance for your specific need(s) and still can be access using help center or help context-sensitive.

To provide your guidance(manual) mentions above, you need not any codes using PHP. Your only works is create your help content, as only html file. You also need no codes to link your application with context-sensitive. You also can create cross reference among help and trigger your application from your help. Even you can create multiple-languages help, you can create your training material in many languages.

Links:

Saturday, August 8, 2009

Behave like the big company although not utilizing LightArmy

LightArmy delivers features using by the big companies to supports their business processes. Features to deliver simplification and helper for maximum performance anf efficiency achievements.

LightArmy is created for you wanting to utilize that features without the need to invest expensively as doing by that big companies. LightArmy is affordable because the value of LightArmy is depend on your need and how much the quantities. If your need is not much, your investment value is as that need.

More importantly, LightArmy provides protection for every investment you made above.

Links:

Why LightArmy using PHP and not another?

PHP is relatively more easy of learning. PHP is relatively more easy for application development by common people (programmer), and thereafter PHP programmer more available.

LightArmy itself making easy of the difficult in application delivering, and provides multiple benefits from this.

The exact first benefit from this situation is speeding the delivery of your need of application. In future, changes will be more faster, our speed to face this situation can be so completely define the existence of our business. Because to keep competitive , we must have ability to make adaptation as fast as possible.

Many more other benefits you can reap from LightArmy mention above.

Links:

Friday, August 7, 2009

Securing application from A to Z without code

Develop secured application is not easy, moreover there are other constraints with opposite deliverable, the performance of application as for example. Data managed inside application may high risk data if not handled properly. How did you not consider that seriously before you choose to use or develop application for that data or you will face a big big problem?

LightArmy provides complete security platform from A to Z. Some security measures can be turn on and off as your need. All of that ready for your use without your programmer doing code.

If you are not enough with that mention above, LightArmy provides some library for your custom security development for your business.

If necessary, you can encrypt all of your data thereafter all stored data can not be understood by anyone except by your program using your created rules.

Links:

Thursday, August 6, 2009

Automate your service for quality improvement and efficiency

Customer is the most valuable for your business. Without customer there is no business. Unsatisfied customers can cause them go and no more have willing to use our business. Dissatisfaction can be triggered or caused by many things even may be only a simple things, nice smile of your security person or unsatisfied response to product or service information request. Responsiveness on delivering service and information can cause customers or leads go away from us.

We can use automation to deliver information at the right time to customer that required consistently providing satisfaction.

LightArmy provides your foundation for delivering automation solution (application) that working 1x24 hours a day without stop. Email and SMS service has been provided and just use them. Many monitoring processes are ready to use for utilization.

If you want to develop your own automation solution (application), LightArmy provides simplified framework thereafter your focus is in only your automation problems and the other is provided by LightArmy.

This automation process can be managed easily. You can create as many as needed and can be managed using web application from everywhere securely.

Links:

Wednesday, August 5, 2009

Broader application access range and cutting operational cost at once

Web-based application has more access range than window-based that may be secure. But not all web-based applications are secure if published on internet (where everyone can see your application). For your internal need, without internet publishing, security consideration is not big enough, but still can not be skipped.

LightArmy is web-based application platform designed to provide high security level application with simplification. You can broader application access range and worry nothing about security problem although for internet publication.

Web-based application maintenance is so easy than window-based application. Imagine the window-based application and being access by multiple-users (more than one users). You must have reliable network connection, can not broken, because application will not correctly running or can not be used by user. You need to provide expensive network connection to utilize this application. If you use stand-alone application, You need to provide remote-desktop as example to make an access and the need of reliable network connection. If there are changes or updates for your application causing by your business requirements, you need to do big works to make such changes or updates on server and all of its clients. Your works include time and money. Now, how with web-based application. You do not need reliable network connection. Every change or update is only change or update for one place and certainly your works will be more simple. Fast change can be delivered to client and at the same time. Minimize business activities interruption.

Direct impact of web-based application usage mentions above is the freedom and easy of use application delivered to your employees thereafter result in performance increase of each employee and then will accelerate the performance of company. Giving more time space for your employee to do work better or even much more.

Another impact is cutting your application (IT) operational cost and minimize your business process interruption that can stimulate panic and stress for not only employee but also customer and another stakeholder. You do not need to maintain your application on every computer and the only server you will perform, reducing your employees need.

Links:

Tuesday, August 4, 2009

Controllable Long-running Process in the Background (without browser)

Did you ever doing large number of data calculation? Number of thousands or even millions or more? Salary calculation as for example. How do you control it (run, pause, resume or stop at the time) from remote?

You may have no choice other than coming to the computer in which the process is being done. You may also using remote-desktop with your risk. Or there is also an expensive VPN.

LightArmy provides simplification by with not only how to control but also how to create such process. Again, your only focus in on your own problem to solve and no more. Process will be running automatically in the background and completely not depend on the browser you use to run that process.

More, from your created process, you can create as many as process' instance you need. Just create your configuration (=its manifest) and execute it.

All process can be managed using web page.

If necessary, you can schedule that process, while still can be managed.

Monday, August 3, 2009

Moving application between sites

You may has been moved application between sites. Your works to do may not be easy or even impossible except you must recode your application.

LightArmy provides easy work for you.

You just move your application files and don't forget related library files needed and application will run on new site without change.

Applicationn duplication any time without code change

You may has been faced a difficult situation of delivering same application with simple change on presentation (look and feel) or some fields are hidden. Your solution may be duplicate your file and then create some changes in there and thereafter must also change your application navigation or routing fundamentally and not easy.

How LightArmy solve this?

There is no change inside platform, because your created application exactly independent. Also you not need to change application that need only different presentation.

Your only works is create new configuration file as xml file and configure as you want. You may need to create presentation(look and feel) file of your need.

* Application development concept has similarity with application development inside operating system (Windows, unix*, mac). Same as you create your application and run it on Windows or Unix* or Mac.

How difficult of building web-based appliation?

Web-based application needs broad knowledge from many languages (programming). If you choose using PHP as your scripting for example, You still need to understand html syntax, javascript and others to deliver requested application.

More difficulty will be faced again with the intermittent that languages inside a program, causing stress to the programmer(s). More stress will happen if some errors occur, causing by the difficulty of locating the cause of problem. Any changes also being not easy to do although for simple change(s), can take big works.

Direct impact of this difficulty is the quality of delivered application, be more difficult to ascertain. Second impact is from time view. It is common that web-based application development need relatively far more time of works.

LightArmy coming to solve this problem.

First, LightArmy provides foundation for simplification of application development with focusing on the main problem using application. Application development will not think again of how to conduct login, how to maintain access right, how to place file securely, how to handle hacker, how to support multi-languages, and so on that common for every application.

Second, LightArmy provides framework for application development by separating code from presentation (look and feel) and it's application(instance). Scripting(code) will be not intermittent anymore with it's html or javascript. There is no tight dependency between code and presentation. Any changes can be made so easy although the big change. Maximizing each delivery by works of the competence(s).

First direct benefit from this simplification is the quality of delivered application, being more easy to ascertain. Second impact is accelerated application development time. Acceleration being more significant using 'code generation', delivering CRUD database application on minute(s). Imagine if you creates full-features such of application from start that require days even weeks, but now you can deliver it only on minute(s). Using 'code generation', yourself, without need to know php syntax, html, and javascript can create qualified application super faster.

Links:

Monday, April 6, 2009

LightAnt

LightAnt as Automation Platform, and Service Bus platform. LightAnt utilizes Core System to deliver automation, distributed and service bus application. LightAnt has been designed using entity-based model. One entity has been defined as controller entity called Nest. Other entities being processes host. There are two process hosts, Queen and Worker. Queen hosting continues processes. Worker hosting one-time processes.

Nest is provided to control the runtime of Queen and Worker. Nest is needed to run Queen and Worker. Queen and Worker need to authenticate itself to Nest before performing its process(es). Nest maintains its users, consists of Nest, Queen, Worker, and Soldier. Nest user is provided to authenticate other Nest. Queen user is provided to authenticate Queen. Worker user is provided to authenticate Worker. Soldier user is special user that has privileges to administer Nest, Queen or Worker.

Queen is provided to host many processes that work continuously. Monitoring process is suitable for Queen. You can load and unload processes dynamically without interrupting other processes. There is a Queen named Core as built-in Queen on System. Core Queen cannot be removed and responsible to host system processes.

Worker is provided to host a process. The process will be run till the defined process completed its work. There is a Worker named Core as built-in Worker on System. Core Worker cannot be removed and responsible to host system processes.

System must have a Nest, a Queen and a Worker. Additional Nest, Queen, and Worker can be added unlimited in theory but limited by the hardware.

Below are list of functionalities provided by LightAnt:
  • Customizable, Extensible, and Manageable Entity

  • Each entity has its own configuration items. Entity can be customize using this items. Entity can be extended to support additional functionalities/processes as necessary easily. These attributes make entity adaptable to follow business change in an easy way.
  • Dynamic and Unlimited Entity.
  • Additional entities can be added anytime. There are unlimited entities can be added.
  • Isolated and Controllable Entity.
  • Each entity has no dependency one and another and isolated. Problem in one entity will not jeopardizing another entities.
  • Foundation to Agile and Consistent Programming
  • LightAnt is provided as Rendering Engine. Rendering Engine provides a way to simplify application development by focusing development on business problem.


Links:

LightBird

LightBird as Application Server. LightBird utilizes Core System to deliver web pages and web services. LightBird using Interface/Container model. System is designed to use Dynamic & Extensible Interfaces and Containers. Interfaces can be added and removed as needed. Containers can be added and removed as needed.

Below are list of functionalities provided by LightBird:
  • Extensible Interfaces
  • There are two interfaces supported now day. Additional interfaces can be added easily. Modification to existing interface can done without interrupting another interfaces.
  • Dynamic and Unlimited Container.
  • Additional containers can be added anytime. There are unlimited containers can be added.
  • Isolated Container
  • Each container has no dependency one and another and isolated. Problem in one container will not jeopardizing another containers.
  • Customizable, Extensible and Manageable Container.
  • Each container has an interface type. This type define how to rendering container. Although has same interface type, containers can be customized to have specific characteristics.
  • Foundation to Agile and Consistent Programming
  • LightBird is provided as Rendering Engine. Rendering Engine provides a way to simplify application development by focusing development on business problem.


Links:

LightArmy Visioning

In Visioning

I am worry about the cost to take ownership of integrated system at my old company and the quality of the product itself. The implementor of this solution/product also make me in a situation of uncertainty. The project never deliver the first goal setting of this initiative solution in everything including employee morale. This is may be only my experience and also my opinion.

I come to my mind how if I have a system with the cost to take ownership as low as possible and easily to implement. In the first time I am thinking about to get the use of free platform/open source system may be can make this happen. In searching thereafter, I am not found the system what I need. I found disparate system with less interconnectivity available in free platform/open source initiative. There are many application software available and if I am counting may be as a whole be the most plenty software available in free platform/open source than not.

The most Website on the Internet may be has been built from free platform/open source system. Most of that systems are disparate one and another. If any, that system is costly to take ownership by other and that system is not to be sold because of any reason including the complexity or not customizable to be used by other.

This thinking direct me building application using free platform with smart capabilities as application server, automation platform, integration platform ,distributed platform, service bus and process platform. The smart capabilities applicable for both end-user perspective and implementor (internal or external) perspective. The smart capabilities also applicable for developer perspective.

System must scalable from business point-of-view means that scalable for end-user and implementor and developer. It is easily add new features and remove features. It is easily increase or reduce the process capacity without programming and stopping current process. It is easily add new processes and remove processes. It is a gift to developer by providing consistent framework and agile development platform.

System must be customizable from every perspectives. Business is ever changing and the system have to change to follow the business easily. The behavior of the system is defined using stored, retrievable, and readable configuration items. End-user has own preferences to customize the system. Implementor build solution by orchestrating configuration items. Provided for developer to create customize features.

System must be portable (platform independent). System must be developed that not depend on specific platform. The system can be deployed on any platform without modification.

System must have solid-security foundation. System also must be secure and securely access from anywhere but transparent to user. Security measures become an integral part of system. The usage of this security measure is easy to both implementor or developer, without coding if possible.

System must have foundation to build off-line processing application and distributed application. These off-line processing applications can then be sync with the defined server. The synchronization tools is an integral part of system.

System must reliable to handle any circumstances. System has to have sophisticated error handling to maintain process integrity and resource protection.

Usage of system must as broad as possible. Any application can be built on the top of this System, only by extending the System or hosting the application on this System.

System must have acceptable performance. Although system must handle sophisticated functionalities, the performance of system is acceptable running on standard hardware.

System must manageable with sophisticated administration tools. The most challenging software is how to make it in operation and stable. For most companies, the cost to operating a system eats most of the budget. This System is scalable as define above. This system is customizable as define above. This system also reliable as define above. These attributes make system manageable.

System can be deployed using its default configuration easily. Without the necessarily savvy in technology used to build the System/Application, user can utilize the most process using our System, just only thinking about his/her own process. Interconnectivity just become integral part of System in which the process reside.

System must be cluster aware. With this attribute, the availability of service using this System can be protected.

System leverages Development focus, Productivity (Simplified Development). By providing the core functionalities/ features of application, developer can focus on only narrow and specific business case. With these capabilities, productivity can be improved by simplifying the development tasks.

System must protect Investments. As smart capabilities define above system will protect the investments in an ever changing of business. System will follow business smoothly and easily and system can be extended as cheap as possible. Maintenance cost become as low as possible while still conform with the business. In overall, business will take the system at low cost with faster return.

System must conform to ISO-1926, Software Product Evaluation – Quality Characteristics and Guidelines and provide foundation for IT Governance.


About LightArmy

LightArmy consists of LightAnt and LightBird. Like a bird we can easily figure out, in this way we can see the LightBird. We can see when flying on the sky. We can see when hunting for eat. We can see every movement of the bird easily. On the other hand, we need an extra efforts to know what ant doing. However, ant can build outstanding nest which can be seen.

LightBird is an inspiration from Bird. Bird creates most of its nest on high position. Nest of bird is never bigger enough in its size to the size of its bird.

A flock is a group of birds conducting flocking behavior in flight, or while foraging. The benefits of aggregating in flocks are varied and flocks will form explicitly for specific purposes. Flocking also has costs, particularly to socially subordinate birds, which are bullied by more dominant birds; birds may also sacrifice feeding efficiency in a flock in order to gain other benefits. The principal benefits are safety in numbers and increased foraging efficiency. Defense against predators is particularly important in closed habitats such as forests where predation is often by ambush and early warning provided by multiple eyes is important, this has led to the development of many mixed-species feeding flocks. These multi-species flocks are usually composed of small numbers of many species, increasing the benefits of numbers but reducing potential competition for resources.

LightAnt is an inspiration from Ant. Ant creates most of its nest on the ground. Nest of ant is so big in its size to the size of ant. The most interesting thing of ant is how ants working together. ANT COLONY is one of computer algorithm from learning how ant found its eat.

An ant colony is an underground lair where ant live. Colonies consist of a series of underground chambers, connected to each other and the surface of the earth by small tunnels. There are rooms for nurseries, food storage, and mating. The colony is built and maintained by legions of worker ants, who carry tiny bits of dirt in their mandibles and deposit them near the exit of the colony, forming an ant-hill. An ant-hill, in its simplest form, is a pile of earth, sand, pine needles, or clay or a composite of these and other materials that build up at the entrances of the subterranean dwellings of ant colonies as they are excavated. A colony is built and maintained by legions of worker ants, who carry tiny bits of dirt and/or vegetation in their mandibles and deposit them near the exit of the colony. They normally deposit the dirt or vegetation at the top of the hill to prevent it from sliding back into the colony, but in some species they actively sculpt the materials into specific shapes, and may create nest chambers within the mound.

LightArmy is an inspiration from Army. Talking about Army is talking security in general term, securing nation and Power. LightArmy is synergy maker between LightAnt and LightBird. LightArmy leverages LightAnt and LightBird and deliver new capabilities. LightArmy is a secure platform as LightAnt and LightBird. The synergy making System easy to extend and maintain to support broad range of applications in an efficient way, maximizing each Power.

Links:

Wednesday, February 4, 2009

PHP LightArmy

Secure Platform For Extensible Secure Enterprise Applications.


LightArmy is PHP application development platform. Bringing together of LightAnt and LightBird as an Enterprise Development platform for all size of organizations.

LightBird will fly as higher as bird and you can utilize as application GUI. LightAnt will work on the ground bridging all systems.

You can develop from simple to enterprise class application.
You can develop from cli, web page, service , message base, ... queue over http and the enterprise service bus (esb)

Security is an integral part of this System. You can securing your url request, any communications and all you want.

Below are System functionalities, features, and usages:
  • Optimized and Open Design

  • Solid Security Foundation and Security Measure

  • Intuitive and Secure System File Structure

  • Fundamental Library and Functionalities

  • Portable & Scalable System

  • Highly Flexible, Adaptable and Maintainable

  • Intuitive Configurable & Easy Manageable System

  • Intuitive Rendering Framework

  • Agile and Consistent Programming

  • Robust and Secure System Connectivity Support

  • Clustering Aware System (High availability Using Custom Session Handler)

  • Intuitive Identity (Account) Management

  • Simple But Elegant Presentation

  • Rich Basic Applications for Real Enterprise Applications

  • Wide Applicable System Usage


Optimized and Open Design

System has been designed to maximize the power of reusable components and extend able. Same components are used to deliver web page, CLI, web service, process, and all functions. This means that the system uses the same library to behave as application server, automation platform, integration platform, distributed platform, service bus and process platform. System can be extended to be whatever kinds of applications as needed. Although depicted in three pictures below, all of that are exactly cannot be separated.

There are layers in this design as drawn at that figures. Bottom layer is Core System in which the other layer will be laid on. Module and Automation are on the top of Core System. Core system itself provided as application server, and distributed platform. Automation, itself provided as automation, integration platform and service bus.

Layering itself defines the openness of design. With this trait, system is expandable to deliver more features or functionalities, making System more powerful, usable and maintainable. Trait also can be reap from extensible user preferences/attributes, extensible user session, extensible startup script, extensible environment, and extensible bootstrap attributes of this design.



Core System is as explain above. Core Extension is provided to extent the Core System. Common Library is library that can be use by many applications.
Application Module as Application of specific purpose can be used by user. Core Application Module is core/engine of application. Application Module Plugin (application module extension) is extension to the application.



Nest is controller which control the runtime of Queen and Worker. Queen is continues process host. Worker is one-time process host. Process Capability is capability of Queen and Worker to perform work.

Design includes basic applications as basic features and proof of design. These basic applications are Kannel, Notify, Notes, To DO, Message, News, and Bookmark.




Solid Security Foundation and Security Measure

System supports user authentication. Authentication can be done using web page interface or web service (SOAP). System differentiates of login and authentication. Login is associate with user session, but authenticate is to validate user and its corresponding password. Authentication can be followed by a request but not create a session. Login can also be done using web interface or web service (SOAP).

System provides two type of secret key to authenticate for different purpose: password and password token.

System has been designed to support Multi-Authentication mechanisms. Default mechanism is called System which authenticate user using user and password manage by System. Today this System only support System Authentication.

System supports authorization using ACL-based authorization. System has been designed to support Multi-Authorization mechanisms.

System supports Dynamic Page Id. Dynamic Page Id is a mechanism to dynamically change the url of a web page. Feature is session-based means that a web page will have different url on different session.

System supports url protection. With this feature user cannot change the url directly from address bar of web browser or if trying will only get page not found message. This feature is called Secure URL. Feature is session-based means that a web page will have different url on different session.

System supports Flooding Detection. Every detected flooding will be stopped by terminating the usage session.

System supports Captcha. Feature protects from automated system do unnecessary request.

System supports session hijacking protection. Feature is called Secure Session. Every detected session hijacking will be terminated immediately.

Encryption tools is an integral part of System.

RSA and OPENSSL are supported by System.

System supports Account locking. User can lock and unlock his/her own account using locking wizard. The wizard will ask a series of questions. The question and the correct answer can be set by user.

System will confirm if a user has already logged in at login trial. This confirmation will be shown if the login trial is successful but the current activity record of user still active.

System supports IP restricted access user. Feature can limit access of user using ip used by user to access the system. Feature is called IP Securities.

System has system-based protection against user agent, domain referring, ip, spider access, and web browser. System can be set to reject request coming from no agent name. System can be set to reject request being refer by a domain. System can be configured to reject request coming from an ip. System can record list of web spiders and using this record to reject a request coming from spider.

System supports Audit Trail and Logging. With this feature, all accesses and events can be traceback.

System provides tools to support filtering input. Feature will sanitize user input before it is used.

System provides Activities Monitor. Administrator can monitor user activities easily and take necessary action if needed.

System supports logged in user to access as another user. Feature is called Access AS. Feature can be used in case of delegation or supervision authority. In supervision authority scenario, the supervisor has access to all his/her descendants. In delegation scenario, user can delegate its access to another.

System supports session timing out. Session timing out is a way to minimize security breach form careless user and trickier suspect. By limiting the idle time and automatic logout will maximize the security. Session timing out can be set per user means that each user has his/her own.

System supports forcing to change password. Administrator can force a user, some users or all users to change his/her password at the next login time. System will be locked to that user until password has been changed successfully.


Intuitive and Secure System File Structure

System using basic system file structure depicted below. An intuitive structure to make System components easy to understand and manageable but secure. This structure also in conformance with Interface/Container model of page/service. Security being the first consideration in designing this structure. There is on one single point of entry to application, that is index.php at the root of structure. A Public folder is provided to store all public files with or without custom protection. A Restricted folder is provided to store files that need special access or security configuration.

System renders container using its configuration. One need to highlight is administrator can store container files on anywhere that may be more secure than inside this structure.

Here is the structure:

  • 3rdparty

  • Application

    • Email

    • SMS

  • Backups

  • Cache

  • Colony

    • Kannels

    • Nests

    • Notifies

    • Queens

    • Queues

    • Resources

    • Tasks

    • tmp

    • Workers

  • Containers

    • CLIContainer

    • CommonPages

    • JavascriptPages

    • LightbirdPages

    • PageContainer

    • ServiceBusPages

    • ServiceContainer

    • WSO2ServiceContainer

    • XMLRPCContainer

  • Docs

    • images

  • Extensions

  • Install

  • LicenseFiles

  • LogFiles

  • MessageBox

  • Public

    • AJAXOmeter

    • codepress

    • CSS

    • fckeditor

    • Images

    • JS

    • License

    • Mochkit

    • xmljson.js

  • Restricted

    • kannel.php

  • System

    • Ant

    • Bird

    • Bootstrap

    • Configuration

    • Core

    • Custom

    • Environment

    • FunctionFiles

    • Interface

    • Java

    • Kannel

    • Language

    • Library

    • Nest

    • Notify

    • Protect

    • Queen

    • Resource

    • Session

    • Source

    • StartUp

    • Task

    • Treading

    • Worker

  • Tasks

    • log.php

  • Default.htm

  • Default.html

  • favicon.ico

  • Index.htm

  • Index.html

  • index.php


Fundamental Library and Functionalities

System supports Autoload and Consistent Library. Autoload is provided to simplify programming. Class's name has relationship with its location, helping to create traceable environment. Class also being simple and manageable.

System provides extensible library. Library has been built using OOP(Object Oriented Programming), open design and configurable using configuration items. This library is extensible to new features/ functionalities.

Below is built-in library provided:
Template Library
Template library is used to render page using template. Library is loaded at bootstrap that means loaded automatically.

Date-Time and Timezone Library
Library provides foundation for System datetime function. There some types of datetime presentation can be chosen. System supports UTC Date setting.

Currency Library
Library provides foundation for System currency function. There some types of currency presentation can be chosen.

Dynamic Page ID Library
Library provides foundation for dynamic page id and run command function. Dynamic Page Id is session-based. A page has different url on different session.

Themer Library
System supports Multi-Themes. Feature provides non-monotone look and feel. User can choose his/her own preference.

Upload handler Library
System provides Upload handler. Feature simplifying on handling uploaded file.

Caching Library
System support dynamic caching utilizes this library. Caching library supports multi storage cache. Supported storage include: file system, database, shmop and memcache.

Crypto Library
System provides easy to use cryptosystem function. This library is utilized to secure System together with RSA, and OpenSSL.

Logger Library
Library provides dynamic & multi storage logger with selectors. System utilizes library to provide dynamic logger functionalities.

Queue Library
Library is dynamic, multi-storage and selector Queue with reference. Queue can be used to construct Queue Router easily. Queue can be accessed easily using reference and reduce programming complexity. Queue is provided as general queue storage to be used by system. Queue is message-based function of System. Now day, there are four types of queue storage: ActiveMQ, FileSystem, Database, and Remote Queue. These types are extensible.

Passage Library
Library is used in automation environment as resource connection tools.

HTTP File Exchange Protocol Library
Library is used to handle File Exchange Protocol over HTTP. System utilizes this library to provide IPC connectivity function.

IOSafe Library
Library is used to handle IO operation safely. File Exchange Protocol utilizes this library to provide safely IO operation function.

Download Library
Library is used to provide partial download function. Using partial download function, download can be resumed at some position of file.

Mailing Library
Library is used to provide rich and flexible mailing function.

REST Library
Library is provided as REST enable function.

RSA Library
Library is provided as RSA public key function.

SMS Library
Library is provided to support SMS function.

SOAP Library
Library is provided to support SOAP function.

WAP Library
Library is provided to support WAP function.

XML Library
Library is provided to support XML function.

Xshell Library
Library is provided to support shell command function.

Array Library
Library is provided to add array function.

Authentication Library
Library is provided to add authentication function. This library is extensible to support various kinds of authentication mechanisms. Default authentication mechanism is System, using user and stored hash password.

Configuration Library
Library is provided to handle configuration file. Library is flexible to read, modify and create configuration file.

Database Connection Library
Library is provided to handle database connection and pooling as necessary.

Database Library
Library is provided to handle data manipulation easily.

LightAnt Library
Library is provided to handle LightAnt functions.

Channel Library
Library is provided to support channel-based communications.

Excel XML Library
Library is provided to handle xml data and file.

Excel Library
Library is provided to handle excel file.

Document Library
Library is provided to handle document file.

DIF Library
Library is provided to handle dif (data interchange format) file.

MultiIO Library
Library is provided to support parallel IO operations.

OpenDocument Library
Library is provided to handle open document (.odt) file.

OpenSSL Library
Library is provided to support OpenSSL functions.

Swish Library
Library is provided to support Swish searching functions.

Captcha Library
Library is provided to support Captcha function.

Email Security Library
Library is provided to secure rendering email address.

FloodBlocker Library
Library is provided to support flooding detection.

Session Security Library
Library is provided to prevent session hijacking.

URL Security Library
Library is provided to support Secure URL, encrypted url.

Session Handler Library
Library is provided to support custom session handler as a way to create cluster-aware applications.

Text Recognizer Library
Library is provided to support text classification using Bayesian. Library is customizable and extensible. Email responder using this library to classify received email.

Threader Library
Library is a means to provide flexible threading environment.

XCS Library
Library is used to handle stylesheet.

Kannel Library
Kannel is provided as SMS function by utilizing queue and queen.

Notify Library
Notify is provided as Notification function by utilizing queue, sms, email and queen.


Portable & Scalable System

System is developed using language (PHP) that can be run on any platform. Coding using library that can be fully running an any platforms. This coding practice is applied to all System components with or without adjustment. Portability attribute of System made System more scalable. Web-based application itself also provide simple and scalable client installation.

System can be customized from every perspectives. Behavior of the system is defined using stored, retrievable, and readable configuration items. End-user has own preferences to customize the system. Implementor build solution by orchestrating configuration items. Provided for developer to create customize features.


Highly Flexible, Adaptable and Maintainable

System unlocks everything using configurable components as much as possible and open for extensions in alignment with the open design. System becomes easy to be changed and extended/scaled to new features or functionalities or capabilities. The flexibility of configuration items, extensible, and scaled System will make System adaptable to changes. The easiness of this effort and web-based application itself make System completely Maintainable.

Explain below is some attributes to achieve above mentions:
  • System supports extensible user preferences/attributes. Feature giving an easy way to add new preferences/ attributes.
  • System supports extensible user session. Feature giving an easy way to add new user session.
  • System supports extensible startup script. Feature giving an easy way to extent/add startup script.
  • System supports extensible environment. Feature giving an easy way to extent/add environment script.
  • System supports extensible bootstrap. Feature giving an easy way to extent/add bootstrap script.
  • System supports reusable component/class. Page can be render completely using the same class and difference only on its configuration.
  • System supports dynamic and extensible access right administration.


Intuitive Configurable & Easy Manageable System

System is configurable entity and its behavior is defined using configuration items. This concept makes System can be managed easily. Configuration items are XML-based file. This kind of way making configuration items easy to be configured. Provided web-based tool to manage some of configuration items.

System provides support for configurable components/applications development. Support can be utilized easily by programmer.

System supports rich configurable basic applications. These basic applications are commonly components used to create business applications.

System supports intuitive rendering, agile and consistent programming which the purpose to simplifying the development. This simplified development will speeding development process in an controllable environment.


Intuitive Rendering Framework

System uses intuitive way to render application, interface/containers model. System has several containers. Each container has interface attribute. Interface defines how application should be rendered. Now, there are Page and Service Interfaces. Container with Page interface will render web page. Container with Service interface will render web service. WSDL Generation is part of Service interface.

Page Rendering
Page should be rendered in a Container with type of Page. Page will be rendered using: configuration file, page processor class file, view html file, language file, and plugin as needed. Configuration file is rendering control that define what should be used and how to render
the page. Page processor class file is used to process the request and render the defined output. View html file is used to forming the output together with page processor class file. Language file is used as language source of rendered page. Plugin can be used as additional components of rendered page.

Service Rendering
Service should be rendered in a Container with type of Service. Service will be rendered using: configuration file, service processor class file, and language file. Configuration file is rendering control that define what should be used and how to render the service. Service processor class file is used to process the request and render the defined service. Language file is used as language source of rendered service.

Process Rendering
Process Rendering is applicable to queen processes (for continues processes), worker processes (one-time processes), and kannel handlers. Process will be rendered using configuration file called manifest and its process_type class file. Process should be installed in its appropriate entity (queen, worker or kannel). Configuration file is rendering control that define what should be used and how to render the process. The process_type class file is used to perform the defined process.

Entity Rendering
Entity will be rendered using configuration file, engine files and some additional files. Each entity has its own configuration items and its required support files. Engine files will be shared among entities with same type. Type can be Queen, Worker, Queue, Notify and Kannel.


Agile and Consistent Programming

Framework making an easy and faster way to design, develop and deploy Page, Service, Entity and Process. Framework will force user to focus on the problem itself and thus can simplify efforts needed. Framework also force to narrowing the problem by dividing solution into manageable components. Below is as an example what developer do to add new page, service or process..
It is possible using this programming concept to separate task between each components: one group to create only the presentation, one group to create language, once group focusing on coding using php only and another group to orchestrating the configuration file. In this environment, software quality is on the way and not difficult to be achieved.


Robust and Secure System Connectivity Support

Connectivity is a way to provide communication to System environment (another system). Functionality is integration tools by which System can be integrated with another in easy and secure way. IPC and Remote Queue are provided giving direct access to System resources. The others are easy to use general connectivity resources. General connectivity resources include database, email, ActiveMQ (using Stomp), Jabber, Web Service (SOAP), FTP, LDAP, Queue, and RADIUS.

IPC (Inter-Process Calls)
IPC is a way to provide remote system file access securely. IPC utilize File Exchange Protocol over HTTP. Default IPC is provided that expose the root System file. Additional IPC accesses can be added as necessary.

Remote Queue
Remote Queue is a way to provide remote System queue access securely. Remote Queue utilize IPC to provide its function. RemoteQueue IPC is provided to support the default remote queue. Additional remote queue can be added as necessary.

Database
Connection to Database using PHP AdoDb and connection pooling.

Email
Connection to Email (NNTP, IMAP, and POP3) and connection pooling.

ActiveMQ (using Stomp)
Connection to ActiveMQ Queue Server.

Jabber
Connection to Jabber Network.

FTP
Connection to File Transfer Protocol Server and connection pooling.

LDAP
Connection to Lightweight Directory Access Protocol and connection pooling.

Queue
Queue is multi-storage queue System developed for this System. Queue consists of queue boxes and selectors. Selectors can be used to construct Queue Router. Queue System is extensible and flexible to use. System provides a way to refer queue instance easily. Queue System can also be exposed using Remote Queue.

RADIUS
Remote Access and Dial Up Service connection.

Web Service (SOAP)
Web Service using SOAP is an integral part of System. Web Service is one of interface type, named Service. There are built-in Service provided: LoginService, LogoutService, AccountService, ChannelService, PublicKeyService, SQLService, WebPageService, and WebService.


Clustering Aware System (High availability Using Custom Session Handler)

System provides custom Session Handler. Feature can be useful in cluster environment to build high availability system/service.




Intuitive Identity (Account) Management

System provides identity management. System can be set to provide Single-Sign-On Solution between System Instances. System can use central identity or local identity. This concept will ensure the extensible of this Identity Management.

In Single-Sign-On environment, there are Account and Users. Account will store password but User is not. User can be create using Account. Without Account, User cannot be created. User can be applied on any System leveraged Single-Sign-On.

System supports logged in user to access as another user. Feature is called Access AS. Feature can be used in case of delegation or supervision authority. In supervision authority scenario, the supervisor has access to all his/her descendants. In delegation scenario, user can delegate its access to another.

System supports account registration. Anyone who can access site can create new account using this feature. Registration will request an email address and deliver the response to that email.

System supports account activation. Account need to be authenticated before used. Activation will request registration information. If there is registration and match with submitted data, corresponding account will be activated.

System supports change password. User can change his/her own password after login.

System supports forgot password. User can request password of a given account. Response will be sent using email. The sent password is one-time password and in subsequent login, System will asking for new password.


Simple But Elegant Presentation

These screenshots are an example of the web pages of this System and not all of pages. Looks and feel of these screenshots also as an example. System can be configured/changed to completely has different style (look and feel). Default style is simple but elegant. Language, Color Schema, Style and Background image can be changed dynamically.

Login/Logout
User can login using secure mode or standard mode. In secure mode, login and password will be encrypted using public key cryptosystem. Already logged in message provided as security measure.

Logout action confirmation is provided to ascertain logout request. System may be closed/ destroyed session after a period of time of inactivity.









Rich Basic Applications for Real Enterprise Applications

System provides basic applications as proof of concept and as basis for application development. Below are all basic applications grouped by its category.

Page category basic applications:
Delegation, Escalation, Change Date, Web-based Administration, Note, ToDo, News, Message, Bookmark.

Web Service category basic applications:
Account, Channel, Login , Logout, PublicKey.

Queen Processes (Continue Processing) category basic applications:
ant_workerlaunch, email_autoresponse, email_mimesender, email_notify, email_qmimesender, email_qsender, email_sender, email_scheduled, file_receiver, file_sender, jabber_receive, kannel_queuebroadcast, kannel_queuedeliverystatus, kannel_queuesender, kannel_queueservice, kannel_stompbroadcast, kannel_stompdeliverystatus, kannel_stompsender, kannel_stompservice, message_bridge, message_databank, message_transformer, queue_router, queue_notifyrouter, queue_sender, scheduledtasks_execute, sms_notify, sms_scheduled, stomp_receiver.

Worker Processing (One-time Processing) category basic applications:
gc_cache (Cache Garbage Collector), gc_log(Log Garbage Collector), gc_session(Session Garbage Collector), xml_transformer (XML Transformer), backup_database, backup_sysfiles, restore_database, restore_databaseupdate, restore_sysfiles, restore_sysfilesupdate, buffer_processor(queue), file_cdownloader, file_sdownloader, file_syncronize, csv_export, database_export, database_import, database_update, dif_export, excel_export, files_import, files_export, files_update, json_export, tab_export, xml_export, ant_monitor.

Kannel Handlers(SMS/WAP Service Handler):
queue_handler, stomp_handler, direct_smsreply.

Another basic applications:
Kannel, Notify.


Wide Applicable System Usage

System has widely applicable business cases and scenarios. As stated above this System is application server, automation platform, integration platform, distributed platform, service bus and process platform, by itself define broad capabilities. This System will be continually improved to maximized its power.

General usage of this platform as stated in the background and objective can be depicted as in the figures below. That figures draw the core usage (first expected usage) of this platform but the exact usage can be anythings as widest as its capabilities.

The basic thinking drawn in that figures is networked application (distributed application as narrowing usage). Basic component of network is a node, so in this scenario, application is a node. Nodes are connected and communicate with one and another. Each node has its own capabilities. Same capability can be owned by many nodes. The biggest benefits of this networked application is the collaboration between nodes to maximize each node capacity and to build new unprecedented capabilities. Unprecedented capabilities from the network itself, include but not limited to more Manageable, Adaptable, Scalable, Usable, Resilience.

Networked application using LightArmy can be achieved using scenario explained below as depicted on figure below. Application is an orchestration of module instances. Instances in an application working together in controllable manner. Application has a gateway using Web Services or Queue. Only use this gateway application will communicate with outside (other application or system). Communication represents both service and synchronization. Each module can provide synchronization function. Module can be sync using peer-to-peer relation or master-slave relation.




Sample Applications

Email Autoresponder
Extensible, Customizable, Scalable, and reliable Email Autoresponder system. Extensible in which user can create new responder and use it. Customizable in which user can customize the behavior of the autoresponder. Scalable in which user can create as much as instance as needed and run as necessary. Reliable in which this autoresponder inherits the reliability of the platform. This autoresponder using bayesian to recognize the pattern of incoming message and response with the appropriate email based on the recognized pattern. Autoresponder can be trained to manage unlimited pattern. The correctness of recognized pattern depending on how user train this responder.

Email Scheduled
Email can be scheduled to be sent at predefined time.

SMS Service
This is an SMS Service using Kannel sms-based function.
Extensible, Customizable, Scalable, and reliable SMS Autoresponder system. Extensible in which user can create new responder and use it. Customizable in which user can customize the behavior of the autoresponder. Scalable in which user can create much as instance as needed and run as necessary. Reliable in which this autoresponder inherits the reliability of the platform.

SMS Scheduled
SMS can be scheduled to be sent at predefined time.

Form (Document) Management
Form (Document) Management is extensible, scalable, customizable document management solution using LightArmy System. There are three approval directions with unlimited approval type. Approval directions are forward, backward, and pending approval. Functionalities include: unlimited document templates, manage document life from draft to publishing to archive and removal, document copies, document change with many releases, parallel approval using document copy, dynamic approval system, delegation and escalation approval and more.

Organization Chart Management
Organization Chart Management is extensible, scalable, customizable Organization Chart solution using LightArmy system. Solution becomes the central of organization charts management. There are three approval directions with unlimited approval type. Approval directions are forward, backward, and pending approval.


Example Automation Scenario

Automated Payroll System

Calculation of employee wage or salary can be scheduled at predefined time, for example at 27th each month. Some company may using fixed attributes and another using non-fixed attributes. Each method has its own benefit and drawback.

Fixed attributes wage/salary using completely fixed attributes to calculate employee wage/salary. If changing, that change will affect to the entire or group/level of employees. This kind of change only depend on a few management and the change period is long, a year or even more. Scenario in this situation can be:

A day before calculation or may more time given that can be set at the configuration item, process will asking to perform the calculation. Depending on the setting, if until the time to calculate there is no response, system can continue the calculation or cancel the calculation. Process will send an information of continuation or cancellation. If the action is cancellation, then the process will terminate itself. Process will informing every events arising in calculation. After finishing calculation, process will ask the next process to perform. Again, depending on setting provided, if no response accepted at required time, process will perform the defined setting. The next step can be sending the calculation result for review and correction if possible. Step will continue with sending reviewed/corrected to accounting and/or bank.

Non-Fixed attributes wage/salary using fixed attributes and non-fixed attributes to calculate employee wage/salary. If changing, the fixed change will affect to the entire or group/level of employees. This kind of change only depend on a few management and the change period is long, a year or even more. Non-fixed attributes will change at every calculation and depends on many people. Scenario in this situation can be:

A day before calculation or may more time given that can be set at the configuration items, process will check its data and then sending remainder to which not yet submitted data. Two hours to deadline, process check and send remainder again. Information also be sent to the responsible people. Process will send data status and asking to perform the calculation. Depending on the setting, if until the time to calculate there is no response, system can continue the calculation or cancel the calculation. Process will send an information of continuation or cancellation. If the action is cancellation, then the process will terminate itself. Process will informing every events arising in calculation. After finishing calculation, process will ask the next process to perform. Again, depending on setting provided, if no response accepted at required time, process will perform the defined setting. The next step can be sending the calculation result for review and correction if possible. Step will continue with sending reviewed/corrected to accounting and/or bank.

Links:
CommentLuv Enabled

Followers