ปัจจุบันผมทำงานให้กับบริษัทฯ ซึ่งทำเกี่ยวกับด้าน telecom แห่งหนึ่ง งานสนุกดี แต่ตอนนี้รู้สึกเบื่อแล้ว
การทำงานในสาย Telecom นั้นทำให้ผมได้เรียนรู้อะไรใหม่ๆ หลายอย่าง แต่นั่นทำให้ผม lag ไปในเทคโนโลยีใหม่ๆ อีกหลายๆ อย่างไปด้วยเช่นกัน (lag มากจริงๆ)
ตอนนี้ผมอยากกลับมา update ในเทคโนโลยีหลายๆอย่างที่ไม่ได้มีโอกาสสัมผัส และสิ้นเดือนนี้จะเป็นวันทำงานสุดท้ายของผม

ผมลาออกจากงาน โดยที่ยังไม่ได้งานประจำ แต่คิดว่าจะรับงาน freelance เพื่อประทังชีวิตและครอบครัว ซึ่งผมจะใช้ช่วงเวลานี้ในการศึกษาเทคโนโลยี ที่มีแนวโน้มจะใช้ในอนาคต
ส่วนความรู้ได้ืที่ได้จากการทำงานด้าน Telecom ไม่ว่าจะเป็น PSTN, VoIP, GSM, SMS, USSD, Billing System, etc... ก็ยังเสียดายอยู่ ไม่อยากทิ้งไป ซึ่งผมคิดว่าจะหาโอกาสได้ใช้สักทาง

 

The image “http://xs126.xs.to/xs126/08156/patrickz296.gif” cannot be displayed, because it contains errors.

 

ดูจากภาพด้านบน แต่คงต้องเลือกในสายพวก web technologies ที่ผมมีโอกาสได้ใช้งานมากที่สุดเสียก่อน แต่ส่วนใหญ่ก็มี่ส่วนที่เกี่ยวเนื่องกับเวบทั้งนั้นเลย นั่นเพราะกระแสหลักในช่วงเวลานี้
ก็ยังคงเป็นเรื่องของ web applications กันอยู่ มาดู overview เกี่ยวกับเทคโนโลยีแต่ล่ะตัวกัน


1. Desktop Application

1.1 .NET Framework 3.5
Microsoft .NET Framework is a software component that is a part of Microsoft Windows operating systems. It has a large library of pre-coded solutions to common programming problems and manages the execution of programs written specifically for the framework. The .NET Framework is a key Microsoft offering and is intended to be used by most new applications created for the Windows platform.
The pre-coded solutions that form the framework's Base Class Library cover a large range of programming needs in areas including user interface, data access, database connectivity, cryptography, web application development, numeric algorithms, and network communications. The class library is used by programmers who combine it with their own code to produce applications.
Programs written for the .NET Framework execute in a software environment that manages the program's runtime requirements. This runtime environment, which is also a part of the .NET Framework, is known as the Common Language Runtime (CLR). The CLR provides the appearance of an application virtual machine so that programmers need not consider the capabilities of the specific CPU that will execute the program. The CLR also provides other important services such as security, memory management, and exception handling. The class library and the CLR together compose the .NET Framework.
The .NET Framework is included with Windows XP, Windows Server 2003, Windows Server 2008 and Windows Vista, and can be installed on some older versions of Windows.

1.1.1 Windows Presentation Foundation

1.1.2 Windows Communication Foundation

1.1.3 Windows Workflow Foundation

1.1.4 Windows CardSpace

1.1.5 Language Integrated Query
Language Integrated Query (LINQ, pronounced "link") is a Microsoft .NET Framework component that adds native data querying capabilities to .NET languages using a syntax reminiscent of SQL. Many of the concepts that LINQ has introduced were originally tested in Microsoft's Cω research project. LINQ was released as a part of .NET Framework 3.5 on November 19, 2007.
LINQ defines a set of query operators that can be used to query, project and filter data in arrays, enumerable classes, XML, relational database, and third party data sources. While it allows any data source to be queried, it requires that the data be encapsulated as objects. So, if the data source does not natively store data as objects, the data must be mapped to the object domain. Queries written using the query operators are executed either by the LINQ query processing engine or, via an extension mechanism, handed over to LINQ providers which either implement a separate query processing engine or translate to a different format to be executed on a separate data store (such as on a database server as SQL queries). The results of a query are returned as a collection of in-memory objects that can be enumerated.
See related topics and documents
http://en.wikipedia.org/wiki/Language_Integrated_Query

2. Mobile Application

2.1 Java ME
In computing, the Java Platform, Micro Edition or Java ME (previously known as Java 2 Platform, Micro Edition or J2ME) is a specification of a subset of the Java platform aimed at providing a certified collection of Java APIs for the development of software for small, resource-constrained devices such as cell phones, PDAs and set-top boxes.
Java ME was designed by Sun Microsystems and is a replacement for a similar technology, PersonalJava. Originally developed under the Java Community Process as JSR 68, the different flavors of Java ME have evolved in separate JSRs. Sun provides a reference implementation of the specification, but has tended not to provide free binary implementations of its Java ME runtime environment for mobile devices, rather relying on third parties to provide their own.
As of 22 December 2006, the Java ME source code is licensed under the GNU General Public License, and is released under the project name phoneME.
See related topics and documents
http://java.sun.com/javame/index.jsp

2.2 .NET Compact Framework
The Microsoft .NET Compact Framework (.NET CF) is a version of the .NET Framework that is designed to run on Windows CE based mobile/embedded devices such as PDAs, mobile phones, factory controllers, set-top boxes, etc. The .NET Compact Framework uses some of the same class libraries as the full .NET Framework and also a few libraries designed specifically for mobile devices such as Windows CE InputPanel.
It is possible to develop applications which use the .NET Compact Framework in Visual Studio.NET 2003, in Visual Studio 2005 and in Visual Studio 2008, in C# or Visual Basic.NET. The resulting applications are designed to run on a special, mobile-device, high performance JIT compiler.
To be able to run applications powered by the .NET Compact Framework, the platform must support the Microsoft .NET Compact Framework runtime. Some operating systems which do include .NET CF are Windows CE 4.1, Microsoft Pocket PC, Microsoft Pocket PC 2002 and Smartphone 2003. .NET Compact Framework applications don't run on desktop computers with the full .NET Framework, because, although the executable files are binary compatible, they use a different digital signature. This is used to prevent a user from trying to run a full .NET application in a .NET Compact Framework device.

2.3 Android
Android is a software platform for mobile devices based on the Linux operating system and developed by Google and the Open Handset Alliance.[1] It allows developers to write managed code in Java that utilizes Google-developed software libraries,[2] but does not support programs developed in native code.
See related topics and documents
http://code.google.com/android/

2.4 Qtopia
Qtopia is Trolltech's application platform for Embedded Linux-based PDAs, mobile phones, web pads, and other mobile computing devices.
Qtopia features:
* Windowing system
* Synchronization framework
* Development environment
* Internationalization and localization support
* Games and multimedia
* PIM applications
* Full screen handwriting
* Input methods
* Personalization options
* Productivity applications
* Internet applications
* Java integration
* Wireless support
Qtopia is dual licensed under the GPL and proprietary licenses.
Qtopia is shipped on over 45 handheld devices including the Sharp Corporation Zaurus line of Linux handhelds, the Sony mylo and the Archos Portable Media Assistant (PMA430), a multimedia device. Qtopia Phone Edition is expected to start shipping on various smartphones. Qtopia has also been ported to run on the Gamepark Holdings GP2X.
As of 2006, there were 11 different models of mobile phone, and 30 other devices, with several million devices running this software. [1]
Qtopia is used as the software platform for the Greenphone, an open phone initiative. Qtopia also runs on the OpenMoko open phone, the FIC Neo 1973. An unofficial hack has also allowed it's use on the Archos wifi series of PMPs (604, 605, 705).
See related topics and documents
http://qtopia.net/

2.5 Openmoko
Openmoko is a project which encompasses two related sub-projects, with the combined aim of creating a family of completely open source mobile phones[1]. The project was founded by FIC.
The first sub-project is Openmoko Linux, an open source Linux based operating system designed for mobile phones, built using free software.
The second sub-project is the development of Openmoko phones — the hardware devices on which Openmoko Linux runs. The first device released was the Neo 1973, which will soon be joined by the Neo Freerunner some time in 2008. Unlike most other mobile phone platforms, these phones are designed to provide end users with the ability to modify the operating system and software stack.
See related topics and documents
http://www.openmoko.com/

2.6 iPhone
The iPhone is an Internet-enabled multimedia mobile phone designed and marketed by Apple Inc. It has a multi-touch screen with virtual keyboard and buttons. The iPhone's functions include those of a camera phone and a portable media player (iPod), in addition to text messaging and visual voicemail. It also offers Internet services including e-mail, web browsing, and local Wi-Fi connectivity. It is a quad- band mobile phone that uses the GSM standard, and hence has international capability. It supports the EDGE data technology. The iPhone is a prime example of converged device.
Apple announced the iPhone in January 2007.[7] The announcement was preceded by rumors and speculations that circulated for several months.[8] The iPhone was introduced in the United States on June 29, 2007, with releases in the United Kingdom, Germany and France in November 2007, and in Ireland and Austria in March 2008.[9][1] It was named Time magazine's Invention of the Year in 2007.
See related topics and documents
http://www.apple.com/iphone/

3. WebBase Application

3.1 Ajax

3.1.1 Ext
Ext (pronounced "extent"[citation needed]) is an open-source JavaScript library, for building richly interactive web applications using techniques such as AJAX, DHTML and DOM scripting.
Originally built as an extension of YUI, Ext can now also extend jQuery and Prototype. As of version 1.1, Ext can run stand-alone without relying on any of those external libraries, though they remain an option for integration.
Ext version 2.0 can now use many different base libraries (adapters) like YUI, jQuery, Prototype or it can work Stand-alone
Ext is available under an LGPL license as long as you "plan to use Ext in a personal, educational or non-profit manner" or "in an open source project that precludes using non-open source software" or "are using Ext in a commercial application that is not a software development library or toolkit" (Ext JS Library License page).
See related topics and documents
http://www.extjs.com

3.1.2 yui
Yahoo! UI Library (YUI) is an open-source JavaScript library, for building richly interactive web applications using techniques such as Ajax, DHTML and DOM scripting.[1] It also includes many CSS resources. It is available under BSD License[2].
See related topics and documents
http://developer.yahoo.com/yui/

3.1.3 jQuery
jQuery is a lightweight JavaScript library that emphasizes interaction between JavaScript and HTML. It was released January 2006 at BarCamp NYC by John Resig.
Dual licensed under the MIT License and the GNU General Public License, jQuery is free and open source software.
See related topics and documents
http://jquery.com/

3.2 RIA

3.2.1 Silverlight
Microsoft Silverlight is a browser plugin that allows web applications to be developed with features that characterize a rich internet application: animation, vector graphics and audio-video playback. Silverlight competes with products such as Adobe Flash, Adobe Flex, Adobe Shockwave, Java FX, and Apple QuickTime. Version 2.0 brought improved interactivity and allows developers to use .NET languages and development tools when authoring Silverlight applications.
Silverlight was developed under the codename Windows Presentation Foundation/Everywhere (WPF/E). It is compatible with multiple web browser products used on Microsoft Windows and Mac OS X operating systems. A third-party free software implementation named Moonlight is under development to bring compatible functionality to GNU/Linux. Mobile devices, starting with Windows Mobile 6 and Symbian (Series 60) phones, will also be supported.
See related topics and documents
http://www.silverlight.net/

3.2.2 JavaFX
scripting language designed by Sun Microsystems, forming part of the JavaFX family of technologies on the Java Platform. JavaFX targets the Rich Internet Application domain (competing with Adobe Flex and Microsoft Silverlight), specializing in rapid development of visually rich applications for the desktop and mobile markets. JavaFX Script works with integrated development environments like NetBeans and Eclipse. JavaFX is released under the GNU General Public License, via the Sun sponsored OpenJFX project
See related topics and documents
https://openjfx.dev.java.net/

3.2.3 Flex
Adobe Flex is a collection of technologies released by Adobe Systems for the development and deployment of cross platform, rich Internet applications based on the proprietary Adobe Flash platform. The initial release in March 2004 by Macromedia included a software development kit, an IDE, and a J2EE integration application known as Flex Data Services. Since Adobe acquired Macromedia in 2005, subsequent releases of Flex no longer require a license for Flex Data Services, which has become a separate product rebranded as LiveCycle Data Services.
In April 2007, Adobe announced plans to open source the Flex 3 SDK. Adobe Flash Player, the runtime on which Flex applications are viewed, and Flex Builder, the IDE used to build Flex applications, remain proprietary.
Adobe Integrated Runtime (AIR), codenamed Apollo,[1] is a cross-operating system runtime environment for building rich Internet applications, using Adobe Flash, Adobe Flex, HTML and Ajax, that can be deployed as a desktop application.
See related topics and documents
http://www.adobe.com/products/flex/

3.3 Java EE

3.3.1 Spring Framework
Website http://www.springframework.org
The Spring Framework (or Spring for short) is an open source application framework for the Java platform. The first version was written by Rod Johnson, who first released it with the publication of his book Expert One-on-One J2EE Design and Development (Wrox Press, October 2002). A port is available for the .NET Framework.[1]
The framework was first released under the Apache 2.0 license in June 2003. The first milestone release, 1.0, was released in March 2004, with further milestone releases in September 2004 and March 2005.
Although the Spring Framework does not enforce any specific programming model, it has become popular in the Java community as an alternative, replacement, or even addition to the Enterprise JavaBean (J2EE) model. By design, the framework offers a lot of freedom to Java developers yet provides well documented and easy-to-use solutions for common practices in the industry.
While the core features of the Spring Framework are usable in any Java application, there are many extensions and improvements for building web-based applications on top of the Java Enterprise platform. Spring has gained a lot of popularity because of this, and is recognized by vendors as a strategically important framework.
See related topics and documents
http://www.springframework.org

3.3.2 Apache Struts
Apache Struts is an open-source web application framework for developing Java EE web applications. It uses and extends the Java Servlet API to encourage developers to adopt a model- view-controller (MVC) architecture. It was originally created by Craig McClanahan and donated to the Apache Foundation in May, 2000. Formerly located under the Apache Jakarta Project and known as Jakarta Struts, it became a top level Apache project in 2005.
Design goals and overview
In a standard Java EE web application, the client will typically submit information to the server via a web form. The information is then either handed over to a Java Servlet which processes it, interacts with a database and produces an HTML-formatted response, or it is given to a JavaServer Pages (JSP) document which intermingles HTML and Java code to achieve the same result. Both approaches are often considered inadequate for large projects because they mix application logic with presentation and make maintenance difficult.
The goal of Struts is to cleanly separate the model (application logic that interacts with a database) from the view (HTML pages presented to the client) and the controller (instance that passes information between view and model). Struts provides the controller (a servlet known as ActionServlet) and facilitates the writing of templates for the view or presentation layer (typically in JSP, but XML/XSLT and Velocity are also supported). The web application programmer is responsible for writing the model code, and for creating a central configuration file struts-config.xml which binds together model, view and controller.
Requests from the client are sent to the controller in the form of "Actions" defined in the configuration file; if the controller receives such a request it calls the corresponding Action class which interacts with the application specific model code. The model code returns an "ActionForward", a string telling the controller which output page to send to the client. Information is passed between model and view in the form of special JavaBeans. A powerful custom tag library allows it to read and write the content of these beans from the presentation layer without the need for any embedded Java code.
Struts also supports i18n (internationalization), provides facilities for the validation of data submitted by web forms, and includes a template mechanism called "Tiles" which (for instance) allows the presentation layer to be composed from independent header, footer, and content components.
See related topics and documents
http://struts.apache.org/

3.3.3 Hibernate
Hibernate is an object-relational mapping (ORM) library for the Java language, providing a framework for mapping an object-oriented domain model to a traditional relational database. Hibernate solves Object- Relational impedance mismatch problems by replacing direct persistence- related database accesses with high-level object handling functions.
Hibernate is free as open source software that is distributed under the GNU Lesser General Public License.
See related topics and documents
http://www.hibernate.org/

3.4 PHP
See related topics and documents
http://www.php.net

3.4.1 CakePHP
CakePHP is an open source web application framework written in PHP, modeled after the concepts of Ruby on Rails, and distributed under the MIT License.
CakePHP started in 2005, when Ruby on Rails was gaining popularity. The community has since grown and spawned several sub-projects. CakePHP is not a port of Ruby on Rails to PHP, but appropriates many of its useful concepts.
The Mambo Foundation announced in 2007 that it would utilize the CakePHP framework for future versions of its widely used content management system, calling CakePHP a "solid choice and certainly one of the top frameworks available today."
See related topics and documents
http://cakephp.org/

3.4.2 CodeIgniter
CodeIgniter is an open source web application framework for use in building dynamic web sites with PHP. It enables developers to build applications much faster by providing a rich set of libraries for commonly needed tasks, as well as a simple interface and a logical structure to access these libraries. The first public version of CodeIgniter was released on February 28, 2006.[1]
See related topics and documents
http://codeigniter.com/

3.4.3 Zend Framework
Zend Framework is an open source, object-oriented web application framework implemented in PHP 5 and licensed under the New BSD License. Zend Framework—often referred to as ZF—is developed with the goal of simplifying web development while promoting best practices in the PHP developer community.
ZF's use-at-will architecture allows developers to reuse components when and where they make sense in their applications without requiring other ZF components beyond minimal dependencies. There is therefore no single development paradigm or pattern that all Zend Framework users must follow, although ZF does provide components for the MVC and Table Gateway design patterns which are used in most ZF applications. Zend Framework provides individual components for many other common requirements in web application development, including authentication and authorization via access control lists (ACL), application configuration, data caching, filtering/validation of user-provided data for security and data integrity, internationalization, interfaces to AJAX functionality, email composition/delivery, Lucene-format search indexing and querying, and all Google Data APIs along with many other popular web services. Because of their loosely coupled design, ZF components can be used relatively easy alongside components from other PHP web application frameworks.[1]
See related topics and documents
http://framework.zend.com/

3.4.4 Symfony
Symfony is a web application framework written in PHP which follows the model-view-controller (MVC) paradigm. Released under the MIT license, Symfony is free software. The symfony- project.com website launched on October 18, 2005.[1]http://www.symfony-project.com/
See related topics and documents
http://www.symfony-project.com/

3.4.5 Seagull PHP Framework
Seagull PHP Framework (Seagull) is an OOP PHP software framework for building web, command line and GUI applications. Seagull uses Model-view-controller design pattern. Many popular PHP applications are integrated within the project, as are various templating engines, PEAR libs, testing tools and managed library code.http://www.seagullproject.org/
See related topics and documents
http://www.seagullproject.org/

4. Alternative


4.1 Python
Python is a general-purpose, high-level programming language. Its design philosophy emphasizes programmer productivity and code readability.[2] Python's core syntax and semantics are minimalist, while the standard library is large and comprehensive.
Python supports multiple programming paradigms (primarily functional, object oriented and imperative), and features a fully dynamic type system and automatic memory management; it is thus similar to Perl, Ruby, Scheme, and Tcl.

4.1.1 Jython
Jython, formerly known as JPython, is an implementation of the Python programming language written in Java.
Jython programs can seamlessly import and use any Java class. Except for some standard modules, Jython programs use Java classes instead of Python modules. Jython includes almost all of the modules in the standard Python programming language distribution, lacking only some of the modules implemented originally in C. For example, a user interface in Jython would be written with Swing, AWT or SWT. Jython compiles to Java bytecode either on demand or statically.
Jython also includes jythonc, a compiler that converts Python source code into Java bytecode (intermediate language). This allows Python programmers to write classes which can be fully utilized by a Java program.
See related topics and documents
http://www.jython.org/

4.1.2 IronPython
IronPython is an implementation of the Python programming language, targeting .NET and Mono, created by Jim Hugunin. Version 1.0 was released on September 5, 2006.[1]
IronPython is written entirely in C#, although some of its code is automatically generated by a code generator written in Python.
See related topics and documents
http://www.codeplex.com/Wiki/View.aspx?Pro...Name=IronPython

4.2 Ruby
Ruby is a dynamic, reflective, general purpose object-oriented programming language. Originating in Japan in the mid 1990s, Ruby was initially developed and designed by Yukihiro "Matz" Matsumoto and combines syntax inspired by Perl with Smalltalk-like object-oriented features.
Ruby supports multiple programming paradigms (including functional, object oriented and imperative), and features a dynamic type system and automatic memory management; it is therefore similar in varying respects to Python, Perl, Lisp, Dylan, and CLU.
In its current, official implementation, written in C, Ruby is a single-pass interpreted language. As of 2008, there are a number of alternative implementations of the Ruby language, including Rubinius, JRuby and IronRuby, each of which takes a different approach, with JRuby providing just- in-time compilation functionality.

4.2.1 Ruby on Rails (RoR)
Ruby on Rails is a free web application framework designed to make web development faster, simpler and more efficient. Often shortened to Rails, or RoR, Ruby on Rails is written in the Ruby programming language.
See related topics and documents
http://www.rubyonrails.org/

JRuby
JRuby is a Java implementation of the Ruby interpreter, being developed by the JRuby team.
JRuby is free software released under a three-way CPL/GPL/LGPL license.
JRuby is tightly integrated with Java to allow the embedding of the interpreter into any Java application with full two-way access between the Java and the Ruby code. (Compare Jython for the Python language.)
See related topics and documents
http://jruby.codehaus.org/

IronRuby
IronRuby is an upcoming implementation of the Ruby programming language targeting Microsoft .NET framework. It is implemented on top of the Dynamic Language Runtime, a library running on top of CLR 2.0 that provides dynamic typing and dynamic method dispatch, among others, for dynamic languages.
See related topics and documents
http://www.ironruby.net/

4.3 Groovy
Groovy is an object-oriented programming language for the Java Platform as an alternative to the Java programming language. It is an agile and dynamic language. It can be viewed as a scripting language for the Java Platform, as it has features similar to those of Python, Ruby, Perl, and Smalltalk. In some contexts, the name JSR 241 is used as an alternate identifier for the Groovy language.
Groovy uses a Java-like curly bracket syntax which is dynamically compiled to Java Virtual Machine bytecodes and which works seamlessly with other Java code and libraries. The Groovy compiler can be used to generate standard Java bytecode to be used by any Java project. Most Java code is valid Groovy syntax and can be used dynamically as a scripting language.
Groovy is

* is an agile and dynamic language for the Java Virtual Machine
* builds upon the strengths of Java but has additional power features inspired by languages like Python, Ruby and Smalltalk
* makes modern programming features available to Java developers with almost-zero learning curve
* supports Domain-Specific Languages and other compact syntax so your code becomes easy to read and maintain
* makes writing shell and build scripts easy with its powerful processing primitives, OO abilities and an Ant DSL
* increases developer productivity by reducing scaffolding code when developing web, GUI, database or console applications
* simplifies testing by supporting unit testing and mocking out-of-the-box
* seamlessly integrates with all existing Java objects and libraries
* compiles straight to Java bytecode so you can use it anywhere you can use Java

Groovy 1.5, the latest major and stable version of the popular dynamic language for the JVM, has been released. In a nutshell, it brings new features like Java 5 annotations, generics and enums, it provides significant performance gains, new meta-programming capabilities, new and improved tooling support like the new joint Groovy/Java compiler, the new interactive shell, or the Groovy Swing console, and a few other additions in its syntax, like the new Elvis operator or the ability to omit parentheses in methods with named arguments to make DSLs even more readable. InfoQ covers the novelties in this new milestone of the project. With all these improvements and new features, don't waste a single second, go download Groovy 1.5 and give it a try.
See related topics and documents
http://groovy.codehaus.org/

4.3.1 Grails (Framework)
Grails is an open source web application framework which leverages the Groovy programming language (which is in turn based on the Java platform). Grails is intended to be a high-productivity framework by following the "coding by convention" paradigm, providing a stand-alone development environment and hiding much of the configuration detail from the developer.
Grails has been developed with a number of goals in mind:

* Provide a high-productivity web framework for the Java platform.
* Re-use proven Java technologies such as Hibernate and Spring under a simple, consistent interface
* Offer a consistent framework which reduces confusion and is easy to learn.
* Offer documentation for those parts of the framework which matter for its users.
* Provide what users expect in areas which are often complex and inconsistent:
o Powerful and consistent persistence framework.
o Powerful and easy to use view templates using GSP (Groovy Server Pages).
o Dynamic tag libraries to easily create web page components.
o Good Ajax support which is easy to extend and customize.
* Provide sample applications which demonstrate the power of the framework.
* Provide a complete development mode, including web server and automatic reload of resources.

See related topics and documents
http://grails.org/

5. Others

5.1 Apache ActiveMQ
Apache ActiveMQ is an open source (Apache 2.0 licensed) message broker which fully implements the Java Message Service 1.1 (JMS). It provides "Enterprise Features"[1] like clustering, multiple message stores, and availability to use any DB as a JMS persistence provider besides VM, cache, and journal persistency.
Apart from Java, ActiveMQ can be also used from .NET[2], C/C++[3] or Delphi[4] or from scripting languages like Perl, Python, PHP and Ruby via various "Cross Language Clients"[5] together with connecting to many protocols and platforms[6]. These include several standard wire level protocols, plus their own protocol called OpenWire.
ActiveMQ is used in enterprise service bus implementations such as Apache ServiceMix, Apache Camel, and Mule.
ApacheMQ is often used with Apache ServiceMix, Apache Camel and Apache CXF in SOA infrastructure projects.
Enterprise support for ActiveMQ is available from independent vendors including IONA Technologies. IONA offers an enterprise version of ActiveMQ called FUSE Message Broker that is tested, certified and supported.
See related topics and documents
http://activemq.apache.org/

6. ERP

6.1 Microsoft dynamics
Microsoft Dynamics is a line of integrated, adaptable business management solutions that enables you and your people to make business decisions with greater confidence. Microsoft Dynamics works like and with familiar Microsoft software to help your people be more productive. The following products automate and streamline financial, customer relationship, and supply chain management to help you drive business success:
Microsoft Dynamics
* Microsoft Dynamics AX
* Microsoft Dynamics CRM
* Microsoft Dynamics GP
* Microsoft Dynamics NAV
* Microsoft Retail Management System
* Microsoft Forecaster
See related topics and documents
http://www.microsoft.com/Thailand/dynamics/

6.2 Apache OFBiz
Apache Open For Business (Apache OFBiz) is Open Source automation software that is an Apache Top Level Project. As automation software it comprises a mature suite of enterprise applications that integrate and automate many of the business processes of an enterprise.
Overview
Actually, Apache OFBiz is a framework + a common data model + business process. All applications are built around a common architecture using common data, logic and process components.
* The framework provides the entire basic infrastructure on which functionality is built.
* Apache OFBiz aggregates functionalities like:
o ERP - planning
o CRM - customer management
o eCommerce
o SCM
o MRP
o CMMS/EAM
o Point of sale - POS
See related topics and documents
http://ofbiz.apache.org/

 

ภาพเต็ม

The image “http://img236.imageshack.us/img236/9225/patrickzfullfq8.gif” cannot be displayed, because it contains errors.

 

ผมใช้โปรแกรม Mindjet MindManager ช่วยสรุปความคิด และให้เห็นมุมมองต่างๆ ได้ง่ายขึ้น โปรแกรมนี้ generate ออกเป็นเอกสารได้ด้วย สะดวกดี
ฮาา... เดี่ยวจะว่ามาบ่นอย่างเดียว หวังว่าภาพ overview และคำอธิบาย (จาก wikipedia) มีช่วยให้เข้าใจเทคโนโลยีต่างๆ ได้ง่ายขึ้นนะครับ


มุมมองของผมตอนนี้ มองแต่เทคโนโลยีใกล้ตัว ที่คิดว่าน่าสนใจ ผมเคยอ่านกระทู้ รายชื่อเทคโนโลยีที่ผมกำลังสนใจ ของคุณ cblue แล้ว ซึ่งรายชื่อเทคโนโลยีที่คุณ cblue เคยpost ไว้มีดังนี้

 

  • Adobe AIR (ส่วนของ Flex - ส่วนที่เป็น AJAX ผมเฉย ๆ ครับ)
  • Android และ iPhone หรือ Android บน iPhone?
  • EclipseLink และ JPA 2.0
  • Grails
  • GridGain และ Hadoop
  • Groovy และ Groovy AOP (โดยเฉพาะ Groovy AOP น่าสนใจมากครับ   - เอาของตัวเองมาอวดหน่อย)
  • JRuby (สองส่วนเช่นกัน JRuby classic กับ Duby)
  • JavaFX (แบ่งเป็นสองส่วน runtime กับ compiler)
  • JavaFX บน iPhone?
  • Mozilla Prism
  • Python 3000
  • ReactOS และ JNode
  • Silverlight
  • Spring DM และ Equinox (โดยเฉพาะฝั่ง server-side)
  • Tamarin
  • Xen

คิดว่าหลายๆ ตัวเกินเอื้ื่อมไปสำหรับช่วงเวลานี้