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

ดูจากภาพด้านบน แต่คงต้องเลือกในสายพวก 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/
ภาพเต็ม

ผมใช้โปรแกรม 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
คิดว่าหลายๆ ตัวเกินเอื้ื่อมไปสำหรับช่วงเวลานี้
สวัสดีคะ
แวะมาเป็นกำลังใจให้คะ เรื่องบางอย่างจะทำพร้อมๆ กันก็ไม่ได้ ต้องค่อยๆ เป็น ค่อยๆ ไป ทำงาน freelance ก็อิลระไปอีกแบบ ขอให้สนุกกับการใช้ชีวิตนะคะ ยังมีเรื่องดีๆ รออีกเยอะ
หรือจะแวะมาร่วมโหวต ภาพกิจกรรม เฮฮาศาสตร์4 ก่อนก็ได้คะ มาร่วมสนุกกันนะคะ
ว้า...ลิงก์ที่แป๊ะให้ ไม่ทำงาน เลยแวะมาบอกใหม่ ลองไปที่ ขอเชิญร่วมโหวต ภาพกิจกรรม เฮฮาศาสตร์4 นะคะ
ช่วยกันเป็นคณะกรรมการคะ
ขอบคุณครับ :)
โหวต ภาพกิจกรรม เฮฮาศาสตร์4 ดูเหมือนจะหมดเวลาแล้ว :|
ยังไม่หมดเวลาคะ
เปิดให้โหวตถึง เที่ยงคืน วันนี้คะ เข้าไปเป็นกรรมการตัดสินด้วยนะคะ
. 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
ถ้าเป็นเรื่อง Dynamics AX สามารถหาความรู้เพิ่มเติมได้ที่ http://www.axcus.com
ครับ