ปัจจุบันผมทำงานให้กับบริษัทฯ ซึ่งทำเกี่ยวกับด้าน 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
คิดว่าหลายๆ ตัวเกินเอื้ื่อมไปสำหรับช่วงเวลานี้


เมนูของ patrickz





เมื่อ อ. 29 เม.ย. 2551 @ 22:14
629310 [ลบ]
สวัสดีคะ
แวะมาเป็นกำลังใจให้คะ เรื่องบางอย่างจะทำพร้อมๆ กันก็ไม่ได้ ต้องค่อยๆ เป็น ค่อยๆ ไป ทำงาน freelance ก็อิลระไปอีกแบบ ขอให้สนุกกับการใช้ชีวิตนะคะ ยังมีเรื่องดีๆ รออีกเยอะ
หรือจะแวะมาร่วมโหวต ภาพกิจกรรม เฮฮาศาสตร์4 ก่อนก็ได้คะ มาร่วมสนุกกันนะคะ
เมื่อ อ. 29 เม.ย. 2551 @ 23:08
629428 [ลบ]
ว้า...ลิงก์ที่แป๊ะให้ ไม่ทำงาน เลยแวะมาบอกใหม่ ลองไปที่ ขอเชิญร่วมโหวต ภาพกิจกรรม เฮฮาศาสตร์4 นะคะ
ช่วยกันเป็นคณะกรรมการคะ
เมื่อ พ. 30 เม.ย. 2551 @ 06:16
629634 [ลบ]
ขอบคุณครับ :)
โหวต ภาพกิจกรรม เฮฮาศาสตร์4 ดูเหมือนจะหมดเวลาแล้ว :|
เมื่อ พ. 30 เม.ย. 2551 @ 15:48
630378 [ลบ]
ยังไม่หมดเวลาคะ
เปิดให้โหวตถึง เที่ยงคืน วันนี้คะ เข้าไปเป็นกรรมการตัดสินด้วยนะคะ