Skip to main content

Home/ Java World/ Group items tagged is

Rss Feed Group items tagged

Hendy Irawan

Project Builders and Natures - 0 views

  •  
    "The concept of automatic incremental compilation is not familiar to many developers. A very frequent question from Eclipse beginners is, "where is the compile button?" The answer is that an IDE with automatic compilation doesn't need a compile button. Every time you make a change to a file, or a group of files, the incremental builder immediately rebuilds every source file that was affected by the change. In this environment, the idea of compilation as a task the user is involved in disappears -- the world is just always in a compiled state. So what magic goes on behind the scenes to make this happen? How does the Java™ builder know which files need to be recompiled when a given source file changes? This is no easy task, but in broad brush strokes, this is what the Eclipse Java builder does: "
Hendy Irawan

javamelody - Project Hosting on Google Code - 0 views

  •  
    "The goal of JavaMelody is to monitor Java or Java EE applications servers in QA and production environments. It is not a tool to simulate requests from users, it is a tool to measure and calculate statistics on real operation of an application depending on the usage of the application by users. JavaMelody is opensource (LGPL) and production ready: in production in an application of 25 person years. JavaMelody is easy to integrate in most applications and is lightweight (no profiling and no database). JavaMelody is mainly based on statistics of requests and on evolution charts. "
Hendy Irawan

Spring Security - 0 views

  •  
    Spring Security is a powerful and highly customizable authentication and access-control framework. It is the de-facto standard for securing Spring-based applications Spring Security is one of the most mature and widely used Spring projects. Founded in 2003 and actively maintained by SpringSource since, today it is used to secure numerous demanding environments including government agencies, military applications and central banks. It is released under an Apache 2.0 license so you can confidently use it in your projects. Spring Security is also easy to learn, deploy and manage. Our dedicated security namespace provides directives for most common operations, allowing complete application security in just a few lines of XML. We also offer complete tooling integration in SpringSource Tool Suite, plus our Spring Roo rapid application development framework. The Spring Community Forum and SpringSource offer a variety of free and paid support services. Spring Security is also integrated with many other Spring technologies, including Spring Web Flow, Spring Web Services, SpringSource Enterprise, SpringSource Application Management Suite and SpringSource tc Server.
Hendy Irawan

Clojure - dynamic programming language that targets the Java Virtual Machine (and the CLR) - 1 views

  •  
    "Clojure is a dynamic programming language that targets the Java Virtual Machine (and the CLR ). It is designed to be a general-purpose language, combining the approachability and interactive development of a scripting language with an efficient and robust infrastructure for multithreaded programming. Clojure is a compiled language - it compiles directly to JVM bytecode, yet remains completely dynamic. Every feature supported by Clojure is supported at runtime. Clojure provides easy access to the Java frameworks, with optional type hints and type inference, to ensure that calls to Java can avoid reflection. Clojure is a dialect of Lisp, and shares with Lisp the code-as-data philosophy and a powerful macro system. Clojure is predominantly a functional programming language, and features a rich set of immutable, persistent data structures. When mutable state is needed, Clojure offers a software transactional memory system and reactive Agent system that ensure clean, correct, multithreaded designs. I hope you find Clojure's combination of facilities elegant, powerful, practical and fun to use."
Hendy Irawan

Vaadin, Maven and Spring « about:software development - 0 views

  •  
    Vaadin is a Rapid Application Development (RAD) framework for RIA applications. I only know it for a few months but since I started experimenting with it, I'm really in favor of it. I see a lot of advantages compared to Sun's Java EE standard front-end framework JSF. First of all Vaadin is a java library, so you only have to write Java to build a complete frontend. No need for a specific frontend language, no need for converters (for comboboxes),… This also implies that you can use the full Java power on the frontend side and that's an huge advantage because frontend code is now type-safe and easily refactorable. You can unit test your frontend with JUnit. You can also use all existing java libraries on the frontend side, for example LOG4J. Another advantage is the fact that Vaadin is easy to learn (JSF isn't!) and to use: it's straigtforward. It feels like developing desktop apps and for me developing desktop apps feels much more intuitive than developing web-apps the way I'm used to. Vaadin uses convention over configuration. No need to register new components, validators or whatever in different xml files. Themes have a default folder and a default folder structure. Vaadin is very well documented. There's the book of Vaadin wich explains every aspect of the framework very clear. On the site there's a blog, a FAQ section, a wiki, a forum, examples with Java source code, … It's very easy to extend. Want to create your own Validator? Just implement an interface or extend another Validator and use it. Want to create your own custom server side component? Just extend the CustomComponent class or extend from another component. There's also an add-on directory where you can download UI components, data components, tools, themes, …
Hendy Irawan

Mike Nash's Two Cents Worth » Blog Archive » RAD with Scala and Vaadin - 0 views

  •  
    "I've had an opportunity recently to work on a product that needed an RIA web interface, and I chose my recent favorite tool for this, Vaadin. The services for this project needed to be highly scalable, and lent themselves well to functional techniques, so I selected Scala as my language of choice. I build my projects with Maven, for reasons I won't go into right now, and I do much of my JVM-language work in Intellij's excellent IDEA IDE. Given these tools, I found a way to facilitate very rapid development of web UI's, and I thought I'd pass it along. Another technique I use, which I'll expound on later, is creating "dummy" implementations of all of my backing services for my application. The "real" implementations are written as OSGi services, in separate modules from my UI. The UI is packaged as a war, but is also OSGi aware, with a bundle activator. This activator only gets called if the war is deployed into an OSGi container, and not otherwise. This allows the app to select which implementation of the services it uses - the "dummy" ones when it's deployed outside of OSGi, and the "real" ones when they're available. This means I can use the handy Maven jetty plugin to quickly spin up my application and test it on my local workstation, without needing all of the dependencies (like a data store and such) of my real services. That's good, in that I can get my "cycle time" down to a few seconds, where "cycle time" is the time between making a change and actually being able to test it in my browser. We can do better, though. I'm using Scala as my language of choice for building the UI as well, as it works just fine with Vaadin (and with everything else in the JVM ecosystem, for that matter, which is why I didn't choose a non-JVM language - but that's yet another rant). I compile my Scala with the Maven scala plugin - here's where the next handy bit comes into play. Turns out the Scala plugin has a goal cal
Hendy Irawan

Gradle: why? - JBoss Community - 0 views

  •  
    "A lot of people have asked me to document the reasons I want to migrate Hibernate from Maven to Gradle as its build tool so I enumerate those reasons here. If you are completely new to Gradle, I suggest having a look at their overview page. Up front I want to point out that this is not intended as a "Maven bash session" nor as a means to directly compare Maven and Gradle. It is just a means to describe the issues and frustrations I have seen in my 2.5+ years of using Maven for Hibernate builds; in many cases the cause is simply an assumption or concept in Maven itself which did not line up cleanly with how I wanted to do build stuff in Hibernate. Some of the list aggregated by Paul comes directly from Hibernate use-cases; I'd suggest reading through those as well. It is also a means to describe why I decided on Gradle as opposed to other related build tools out there now (Buildr, SBT, etc). Note that there is a comparison wiki between Gradle and Maven, but that it is quite old and out of date in many respects especially in regards to Gradle. The issues I had with Maven (note that these are largely chronological, not in order of "importance") are as follows:"
Hendy Irawan

Apache Camel: Index - 0 views

  •  
    "Apache Camel is a powerful open source integration framework based on known Enterprise Integration Patterns with powerful Bean Integration. Camel lets you create the Enterprise Integration Patterns to implement routing and mediation rules in either a Java based Domain Specific Language (or Fluent API), via Spring based Xml Configuration files or via the Scala DSL. This means you get smart completion of routing rules in your IDE whether in your Java, Scala or XML editor. Apache Camel uses URIs so that it can easily work directly with any kind of Transport or messaging model such as HTTP, ActiveMQ, JMS, JBI, SCA, MINA or CXF Bus API together with working with pluggable Data Format options. Apache Camel is a small library which has minimal dependencies for easy embedding in any Java application. Apache Camel lets you work with the same API regardless which kind of Transport used, so learn the API once and you will be able to interact with all the Components that is provided out-of-the-box. Apache Camel has powerful Bean Binding and integrated seamless with popular frameworks such as Spring and Guice. Apache Camel has extensive Testing support allowing you to easily unit test your routes. Apache Camel can be used as a routing and mediation engine for the following projects: * Apache ServiceMix which is the most popular and powerful distributed open source ESB and JBI container * Apache ActiveMQ which is the most popular and powerful open source message broker * Apache CXF which is a smart web services suite (JAX-WS) * Apache MINA a networking framework"
Hendy Irawan

Replication, Clustering, and Connection Pooling - PostgreSQL wiki - 0 views

  •  
    There are many approaches available to scale PostgreSQL beyond running on a single server. An outline of the terminology and basic technologies involved is at High Availability and Load Balancing. There is a presentation covering some of these solutions. There is no one-size fits all replication software. You have to understand your requirements and how various approaches fit into that. For example, here are two extremes in the replication problem space: You have a few servers connected to a local network you want to always keep current for failover and load-balancing purposes. Here you would be considering solutions that are synchronous, eager, and therefore conflict-free. Your users take a local copy of the database with them on laptops when they leave the office, make changes while they are away, and need to merge those with the main database when they return. Here you'd want an asynchronous, lazy replication approach, and will be forced to consider how to handle conflicts in cases where the same record has been modified both on the master server and on a local copy. These are both database replication problems, but the best way to solve them is very different. And as you can see from these examples, replication has a lot of specific terminology that you'll have to understand to figure out what class of solution makes sense for your requirements. A great source for this background is in the Postgres-R Terms and Definitions for Database Replication. The main theoretical topic it doesn't mention is how to resolve conflict resolution in lazy replication cases like the laptop situation, which involves voting and similar schemes.
Hendy Irawan

MDA, MDSD, MDE, MDWhatever! « About model driven engineering - 0 views

  •  
    "I'll try to list all the MDE tools I know, I'll also try to reference them by their scope. Feel free to comment this list of MDE tools! M2M/M2T tools: actifsource (http://www.actifsource.com/) AndroMDA (http://www.andromda.org/) Eclipse ATL (http://www.eclipse.org/atl/) is a part of Eclipse Modeling project Eclipse QVTO (http://wiki.eclipse.org/M2M/QVTO) is a part of Eclipse Modeling project Itemis/Eclipse xpand/xtend (http://wiki.eclipse.org/Xpand) it was originaly a part of the no longer supported openArchitectureWare (http://oaw.itemis.com/ & http://www.openarchitectureware.org/) is now a part of Eclipse Modeling project Mia-Software Mia-Generation (http://www.mia-software.com/) is a part of Mia-Studio tool suite Mia-Software Mia-Transformation (http://www.mia-software.com/) is a part of Mia-Studio tool suite Obeo/Eclipse Acceleo (http://www.eclipse.org/acceleo/) is a M2T tool that has recently moved from the Obeo (http://www.obeo.fr/) company to Eclipse Modeling project"
Hendy Irawan

Data, Context and Interaction - Wikipedia, the free encyclopedia - 0 views

  •  
    Data, Context and Interaction (DCI) is a paradigm used in computer software to program systems of communicating objects. Its goals are: To improve the readability of object-oriented code by giving system behavior first-class status; To cleanly separate code for rapidly changing system behavior (what the system does) from code for slowly changing domain knowledge (what the system is), instead of combining both in one class interface; To help software developers reason about system-level state and behavior instead of only object state and behavior; To support an object style of thinking that is close to peoples' mental models, rather than the class style of thinking that overshadowed object thinking early in the history of object-oriented programming languages. The paradigm separates the domain model (Data) from Use cases (Context) and Roles that objects play (Interaction). DCI is complementary to Model-view-controller (MVC). MVC as a pattern language is still used to separate the data and its processing from presentation. DCI was invented by Trygve Reenskaug, also the inventor of MVC. The current formulation of DCI is mostly the work of Reenskaug and James O. Coplien.
Hendy Irawan

Mod4j (Modeling for Java) is an open source DSL-based environment for developing admini... - 0 views

  •  
    Mod4j (Modeling for Java) is an open source DSL-based environment for developing administrative enterprise applications. It uses a collection of DSL's to model different parts of the architecture, combined with manually written code. Currently Mod4j consists of four DSLs: the Business Domain DSL, Service DSL, Data Contract DSL and Presentation DSL. The modeling environment is seamlessly integrated into the Eclipse IDE which gives the developers one environment where they can easily switch back- and forth between models and code. The different DSL?s used in Mod4j can be used independently, but if they are used in collaboration they will be fully validated with each other. Apart from integration in the Eclipse IDE, Mod4j also supports the use of Maven. That is, using the DSL models as the source, the complete code generation process can be run automatically on a build server without the need for Eclipse. The Mod4j DSLs and the corresponding code generators are based on a reference architecture. This allows developers to model various aspects of the application and generate code that strictly follows this reference architecture. The reference architecture is described in a separate document. For a good understanding of the generated code it is useful to read this document.
Hendy Irawan

Community Dashboard Framework (CDF) | cdf.webdetails.org - 0 views

  •  
    "Community Dashboard Framework (CDF) is a project that allows you to create friendly, powerful, fully featured dashboards on top of the Pentaho BI server. Former Pentaho dashboards had several drawbacks from a developer's point of view. The developing process was awkward, it required know-how of web technologies and programming languages, and basically it was time-consuming. CDF emerged as a need for a framework that overcame all those difficulties. The final result is a powerful framework featuring the following: . It is based on Open Source technologies. . It separates logic (JavaScript) of the presentation (HTML, CSS) . It features a life cycle with components interacting with each other . It uses AJAX . It is extensible, which gives the users a high level of customization: . Advanced users can extend the library of components. . They also can insert their own snippets of JavaScript and jQuery code. CDF can be used: . As part of a Pentaho solution. This is the most common scenario. . In a standalone mode as an alternative to the Pentaho User Console . Integrated with Portlets, PHP applications, intranet portals and even desktop applications. "
Hendy Irawan

WebServices - Axis SOAP API Client - 0 views

  •  
    Apache Axis is an implementation of the SOAP ("Simple Object Access Protocol") submission to W3C. From the draft W3C specification: SOAP is a lightweight protocol for exchanging structured information in a decentralized, distributed environment. It is an XML based protocol that consists of three parts: an envelope that defines a framework for describing what is in a message and how to process it, a set of encoding rules for expressing instances of application-defined datatypes, and a convention for representing remote procedure calls and responses. This project is a follow-on to the Apache SOAP project. Please see the Reference Library for a list of technical resources that should prove useful.
Hendy Irawan

AspectJ Development Tools (AJDT) - 0 views

  •  
    "Some aspects of system implementation, such as logging, error handling, standards enforcement and feature variations are notoriously difficult to implement in a modular way. The result is that code is tangled across a system and leads to quality, productivity and maintenance problems. Aspect Oriented Software Development enables the clean modularization of these crosscutting concerns. The AspectJ Development Tools (AJDT) project provides Eclipse platform based tool support for AOSD with AspectJ. Our goal is to deliver a user experience that is consistent with the Java Development Tools (JDT) when working with AspectJ projects and resources. "
Hendy Irawan

Liquibase! (A brief primer on database schema migrations in Grails) | Cantina Consulting - 0 views

  •  
    There is no migration system in vanilla grails (although possibly in Grails 2.0 …. ?) but there do exist several plugins that provide  some migration functionality. As of this post I am aware of three: dbMigrate, Liquibase, and Autobase. Of these, I prefer Liquibase and cannot recommend it enough. While it uses XML to describe its changesets it is a mature open-source Java project that works flawlessly (and has some excellent documentation). I did not have much luck using DbMigrate and Autobase when including in an existing project… which is a shame as Autobase (which is built on Liquibase) uses a nice DSL syntax to build the migrations.
Hendy Irawan

Developing with Lift in Eclipse - 0 views

  •  
    A few weeks back, I wrote a blog entry lamenting the attitude toward IDEs in the Scala community. A few people told me that the tooling situation was better than I'd implied, so I thought I'd spend a bit of time looking at using Scala (and Lift specifically) in Eclipse. I think the situation is still a ways away from the tooling situation for Java, but it is actually quite good, and I wanted to post a quick tutorial for those interested in developing Lift in Eclipse. Prerequisites This post assumes that you already have Scala 2.8 final and Eclipse 3.6 on your system. For Eclipse, I recommend upping the Xmx setting if you haven't already - I had issues when I had multiple Lift projects imported with Xmx set to 386. Also, this tutorial is going to use Maven, not SBT. SBT may be a better build tool for Scala projects, but I'm not sure how well it works with m2eclipse - I'm going to play with that more later. I also assume you know how to install plugins into Eclipse - I will create a more in-depth screencast for doing all of this if there is enough interest.
Hendy Irawan

Groovy vs. Scala - We Need a Closure… « GridGain = Compute + Data + Cloud - 0 views

  •  
    There was a recent outburst in blogs on the topic of Groovy and how it compares to Java. Although I respect the youthfull entusiasim of Groovy and Co. working on this little exercise I'm just perplexed by the "WHY?" in this whole discussion. Let me just say again: W H Y ?!?! 1. Practically no one cares about Groovy (let alone Groovy++ strap-on) beyond Grails community. So this language just as "widely accepted" as Ruby (at least for enterprise software development) 2. If you know Java it's equally "challenging" to pick up either Groovy or Scala. Don't let anyone insult your intelligence by claiming that Scala syntax is somehow more complex than Groovy. In both languages you will need to adapt to functional thinking - and that's where you will have to spend a couple of weekends… 3. If you know Groovy - you already know 90% of Scala (different syntax and few extra features can be picked up in the evening) 4. Scala is designed by people who have proper academic background, experience and talent in the area of language design - Groovy has never been that way (and anyone who dares to look inside of Groovy runtime or history of changes in it will attest to that). NOTE: it did come out rather strong - but that's how I feel about it and after some thinking I'll leave as is. Nothing personal to anyone reading it… 5. Scala as a post-functional language is years ahead of Groovy (static typing with best-in-business type inference, highly tuned mix of imperative and functional styles, powerful and done-right generics, etc.) 6. Groovy will ALWAYS be slower than Scala or Java (latest benchmarks put even Groovy++ about 50 times slower than Java) just by its nature unless someone changes the language and rebuilds the runtime from the ground up. 7. Once we get decent integration with Eclipse, NetBeans and IDEA for Scala, the Groovy will lose its only serious advantage
Hendy Irawan

UNICASEClient - unicase - A unified CASE tool. - Project Hosting on Google Code - 0 views

  •  
    UNICASE is a CASE-Tool integrating models from the different development acitivities, such as requirements, use cases, UML models, schedules, bug and feature models into a unified model. This unified model is highly traceable by design. The UNICASE client allows to view and edit these models in a textual, tabular and diagram visualization. The models are stored and versioned on a server comparable to svn but customized for models. Client and server are easily extensible to support integrating new models into the unified model. UNICASE is based on the Eclipse platform including EMF and GMF. It can also be used as a framework to build modeling applications that reuse its repository and visualization capabilities. The project is open-source and released under the Eclipse Public License v 1.0 (EPL). It builds on our experience from the Sysiphus project in building a CASE tool.
Hendy Irawan

Eclipse Driven Rich Application Development: Eclipse RAP Single Sourcing Awesomeness (w... - 0 views

  •  
    Eclipse Rich Client Platform has come a looong way since it was first introduced (and used in Eclipse IDE). The new Eclipse RAP (Rich Application Platform) is also becoming more and more attractive for deploying existing or new Eclipse RCP applications to the web. One of my the projects I'm working on is developed on top of Eclipse RCP. It uses additional plugins such as EMF (Eclipse Modeling Framework) including EMF Editor UI, Teneo (EMF Persistence for Relational Databases), and Hibernate. After some work, I managed to run the whole application on both Eclipse RCP (desktop) and Eclipse RAP (web-based). See the screenshots for proof. Thanks to the recently released EMF Support for RAP I don't have to let go any of the nice EMF generated editor UIs for the web-based RAP version. What's amazing is how little the work I have to do to port the RCP app to RAP. The changes I needed to do is not changing code, but juggling dependencies to plugins and/or packages. Also creating a few platform-specific plugins (different based on whether I deploy on RCP or RAP).
1 - 20 of 232 Next › Last »
Showing 20 items per page