free and more feature rich alternative to BlazeDS, but also outranks LCDS’ out-of-the-box features when it comes to data management, streaming media and integrating with mobile devices and Cloud computing
developer tools like code generation, invocation test drive and interoperability with multiple IDEs and frameworks
supporting integration with mobile clients (Android, Windows Phone 7, RIM Playbook and soon iOS) and the Java service layer, which includes support for Java POJOs, EJBs, Spring Beans, Grails controllers, Hibernate Objects and XML Web Services
Java NIO high-performance messaging (thousands of clients per CPU)
No
Yes
Real Time Messaging Protocol (RTMP)
No
Yes
Data throttling
No
Yes
Reliable communications
the glory of Spring's founding myth of killing the beast that was J2EE seems to be fading. The former beast is now as manageable and easy to use as Spring ever was, or even more so
Deconstructing Spring myths
looking at the capabilities of the Spring Framework itself, where are the killer features?
list of reasons why I feel more productive on Java EE 6 than on Spring 3.1
these days there's really no reason for preferring vendor-specific APIs over JPA 2.0
Spring and Java EE applications mostly differ in the following areas only:
the web framework (Spring MVC vs. JSF vs. Wicket vs. Vaadin vs. Struts vs.....)
Spring Beans vs. EJB
Spring Dependency Injection vs. CDI or Java EE 5 @EJB or @Resource injection
MDG Technologies allow users to extend Enterprise Architect's modeling capabilities to specific domains and notations. MDG Technologies seamlessly plug into Enterprise Architect to provide additional toolboxes, UML profiles, patterns, templates and other modeling resources.
Free MDG Technology downloads for Enterprise Architect:
EJB
MDG Technology for Enterprise Java Beans allows the user to model EJB entities and EJB sessions, complete with UML profiles for modeling EJB, EJB patterns and Code Management.
(requires Enterprise Architect 4.1 or later)
ICONIX AGILE DDT
ICONIX Agile Developer - Design-Driven Testing (DDT) streamlines the ICONIX modeling process, providing:
Convenient modeling of robustness diagrams
Automatic generation of sequence diagram structures from robustness diagrams
Transformation of robustness control elements to test diagrams
Transformation of sequence diagram elements to test diagrams
Transformation of requirement diagrams to test diagrams
Transformation between test cases and test classes. (JUnit & NUnit)
Built-in model validation rules for ICONIX robustness diagrams
(requires Enterprise Architect 7.5 or later)
Testing
MDG Technology for Testing helps users to rapidly model a wide range of testing procedures including component testing, SUT, Test Cases and more.
(requires Enterprise Architect 4.1 or later)
Instructions for loading an MDG Technology
EXE file:
Download and run the .exe file to install the MDG technology.
Open Enterprise Architect.
Select from the Main Menu Add-Ins | XYZ Technology | Load.
Built-in MDG Technologies:
Most of the MDG Technologies provided by Sparx Systems are built into Enterprise Architect directly. Depending on your edition of Enterprise Architect, some or all of the following MDG Technologies will be available:
Baseline Diagram Compare feature is a quick and easy way to visually compare a current diagram with an earlier version
Access Any of the following:
•Project Browser diagram context menu | Compare to Baseline | <select baseline>: Show Differences•Project Browser package context menu | Package Control | Manage Baselines: Show Differences | Selected diagram context menu | Open Visual Diagram Diff •Diagram context menu | Compare to Baseline: Show Differences, or•Select Package | Project | Baselines: Show Differences | Selected diagram context menu | Open Visual Diagram Diff
In any access control model, the entities that can perform actions in the system are called subjects, and the entities representing resources to which access may need to be controlled are called objects
object-capability model, any software entity can potentially act as both a subject and object
Access control models used by current systems tend to fall into one of two classes:
those based on capabilities
those based on access control lists (ACLs)
Both capability-based and ACL-based models have mechanisms to allow access rights to be granted to all members of a group of subjects (often the group is itself modeled as a subject)
identification and authentication determine who can log on to a system, and the association of users with the software subjects that they are able to control as a result of logging in;
authorization determines what a subject can do;
accountability identifies what a subject (or all subjects associated with a user) did.
Authorization determines what a subject can do on the system
Authorization
Access control models
categorized as either discretionary or non-discretionary
three most widely recognized models are
Discretionary Access Control (DAC)
Mandatory Access Control (MAC)
Role Based Access Control (RBAC)
Attribute-based access control
Discretionary access control
Discretionary access control (DAC) is a policy determined by the owner of an object. The owner decides who is allowed to access the object and what privileges they have.
Every object in the system has an owner
access policy for an object is determined by its owner
DAC systems, each object's initial owner is the subject that caused it to be created
Mandatory access control
Mandatory access control refers to allowing access to a resource
if and only if rules exist
that allow a given user to access the resource
Management is often simplified (over what can be required) if the information can be protected using
hierarchical access control
or by implementing sensitivity labels.
Sensitivity labels
A subject's sensitivity label specifies its
level of trust
level of trust required for access
subject must have a sensitivity level equal to or higher than the requested object
Instead of configuring the ShiroFilter in my web.xml I had the IniShiroFilter configured.
The IniShiroFilter creates a new SecurityManager from the ini file.
This new SecurityManager didn't know about the realm I've added in my EnvironmentLoader, so it didn't have any realms.
I replaced it with the ShiroFilter in my web.xml and all seems to be working now with my CdiEnvironmentLoaderListener.
Shiro support the concept of role inheritance roleA inherits permissions
from roleB
A given realm knows only its roles, but my
application understands the mapping of roles to permissions (or nested
roles). I have a single RolePermissionResolver that ties permissions
to roles
Example:
My security Manager:
https://github.com/sonatype/security/blob/master/security-system/src/main/java/org/sonatype/security/DefaultRealmSecurityManager.java#L63
My RolePermissionResolver
https://github.com/sonatype/security/blob/master/security-realms/security-xml-realm/src/main/java/org/sonatype/security/realms/XmlRolePermissionResolver.java#L47
we believe that providing solid support for
standardized PaaS-based programming and multi-tenancy would delay the
release of Java EE 7 until the spring of 2014
way
too long
defer the remaining aspects of our agenda for PaaS
enablement and multi-tenancy support to
Java EE 8
already laid some of the infrastructure for cloud
support in Java EE 7
Flash Player (GMT +X) -> IExternizable methods (GMT + X - X = GMT + 0) - > AMF over HTTP (GMT + 0) -> Granite AMF0Deserializer (GMT + 0) -> Granite Converter (GMT + 0 + Y = GMT + Y) -> Java Services (GMT + Y)Java Services (GMT + Y) -> Granite Converter (GMT + Y - Y = GMT + 0) -> Granite AMF0Deserializer (GMT + 0) -> AMF over HTTP (GMT + 0) -> IExternizable methods (GMT + 0 + X = GMT + X) -> Flash Player (GMT + X)
We use
GMT + 0
for AMF for convention
define a
fixed timezone
for your AMF that is over HTTP
GMT + X
: timezone for your flex client
GMT + Y
: timezone for your server
don't want to modify the default templates
override the readExternal / writeExternal methods and do the conversion here.
The patch is to use a custom template for generating your as files with a conversion to GMT 0 in the implementations of IExternalizable methods.On the server-side you add a Converter to convert dates GMT 0 to dates GMT + Y.