Disclaimer The opinions expressed herein are author's opinions and do not represent e-Zest's view in anyway. © Copyright 2012
Resizing of the RootEverything that extends Region or Control and is set as the root will automatically fit to the Scene. Anything that extends Group will not.If you do not want the application to resize with the scene, add a Group as the root. Resizing of Child NodesThe size of a resizable node (Region, Control, WebView) will depend on two things:1) It's own min/pref/max size preferences2) The sizing policy of its parentFollowing is a brief description of how the various nodes will be resized if the following are the Parent containers:FlowPane: FlowPane will always resize nodes to their preferred sizes. This means controls added to a flowpane won’t resize if you resize the application window. FlowPane should contain only those controls for which resizing is not required.StackPane: StackPane will attempt to resize its children to fill its area (up to the child's max size limits).This means that a node’s default MAX size has everything to do with how its resize.All Layout panes and most of the controls have an unbounded max size, which means a StackPane will stretch them out. The exceptions:- Label, Buttons, Hyperlink, Slider, ProgressBar returns pref size for max (so they don't stretch by default)- MenuBar, TextBox return pref for max height (width is unbounded)If you don't want a GridPane to be stretched beyond its preferred size, just clamp it:gridpane.setMaxSize(Region.USE_PREF_SIZE, Region.USE_PREF_SIZE);if you want a Button's width to be flexible:button.setMaxWidth(Double.MAX_VALUE);GridPane: The sizing of rows and columns in a GridPane will depend on the percentage width set for the CoulmnConstraints and percentage height set for the RowContraints. The code below sets the percentage with for column 1 and 2 and percentage height of rows 1 to 4 ColumnConstraints column1 = new ColumnConstraints(); column1.setPercentWidth(50); ColumnConstraints column2 = new ColumnConstraints(); column2.setPercentWidth(50); configurationPane.getColumnConstraints().addAll(column1, column2); RowConstraints rowConstraints1=new RowConstraints(); rowConstraints1.setPercentHeight(30); RowConstraints rowConstraints2=new RowConstraints(); rowConstraints2.setPercentHeight(30); RowConstraints rowConstraints3=new RowConstraints(); rowConstraints3.setPercentHeight(30); RowConstraints rowConstraints4=new RowConstraints(); rowConstraints4.setPercentHeight(10); configurationPane.getRowConstraints(). addAll(rowConstraints1,rowConstraints2,rowConstraints3,rowConstraints4);Once the rows and columns of Grid are resized the sizing of the nodes within each of them would behave based on the resizing policy of the controls as discussed under stack pane.VBox: The setVgrow method sets the vertical grow priority for the child when contained by an VBox. If set, the VBox will use the priority to allocate additional space if the VBox is resized larger than its preferred height. If multiple VBox children have the same vertical grow priority, then the extra space will be split evening between them. If no vertical grow priority is set on a child, the VBox will never allocate it additional vertical space if available. Setting the value to null will remove the constraint.HBox:The setHgrow method sets the horizontal grow priority for the child when contained by an HBox. If set, the HBox will use the priority to allocate additional space if the HBox is resized larger than its preferred width. If multiple HBox children have the same horizontal grow priority, then the extra space will be split evening between them. If no horizontal grow priority is set on a child, the HBox will never allocate it additional horizontal space if available. Setting the value to null will remove the constraintBorderPane: Border Pane again uses the resizing policy of the nodes as discussed under stack pane to resize the nodes.Left Node: If the node placed on the left edge of the border pane is resizable, it will be resized to its preferred width and the height will span the height of the border pane between the top and bottom nodes. If the node cannot be resized to fill the left space (it's not resizable or its max size prevents it) then it will be aligned top-left within the space unless the child's alignment constraint has been set.Right Node: If the node placed on the right edge of this border pane is resizable, it will be resized to its preferred width and its height will span the height of the border pane between the top and bottom nodes. If the node cannot be resized to fill the right space (it's not resizable or its max size prevents it) then it will be aligned top-right within the space unless the child's alignment constraint has been set. Top Node: If the node placed on the top edge of this border pane is resizable, it will be resized to its preferred height and its width will span the width of the border pane. If the node cannot be resized to fill the top space (it's not resizable or its max size prevents it) then it will be aligned top-left within the space unless the child's alignment constraint has been set.Bottom Node: If the node placed on the bottom edge of the border pane is resizable, it will be resized to its preferred height and its width will span the width of the border pane. If the node cannot be resized to fill the bottom space (it's not resizable or its max size prevents it) then it will be aligned bottom-left within the space unless the child's alignment constraint has been set.References:JavaFX JavaDocs : http://download.oracle.com/javafx/2.0/api/index.html
e-Zest is Professional Level Partner of VMWare and has a dedicated VMWare competency center. VMWare is the market leader in infrastructure virtualization and accoding to one of the Gartner's researches, its at least 6 years ahead of its competitors in terms of technology innovations. e-Zest has gained extensive experience in implementing the infrastructure virtualization using VMWare vSphere.
vSphere is amazing innovation from VMWare. Its worth spending few minutes understanding its key features and benefits.
VMware vSphere, the industry’s first cloud operating system, leverages the power of virtualization to transform datacenters into dramatically simplified cloud computing infrastructures and enables IT organizations to deliver the next generation of flexible and reliable IT services, using internal and external resources, securely and with low risk.
VMware vSphere infrastructure services transform discrete hardware resources into a shared mainframe-like computing platform that is incredibly resilient and capable of running the most demanding applications with nearnative performance.
Few of the the Key Features of VMWare vSphere:
1. Bare-metal architecture: VMware ESX and ESXi insert a robust virtualization layer directly on the server hardware for near-native virtual machine performance, reliability and scalability.
2. Small footprint: VMware ESXi is a compact, 70 MB form factor of the production proven VMware ESX hypervisor. It is a fraction of the size of a general purpose operating system for unparalleled security and reliability.
3. Server integration: VMware ESXi is available integrated into servers from leading OEM vendors for a simplified boot and deployment experience.
4. CPU virtualization: Run many operating systems and applications encapsulated inside virtual machines on a single physical server for higher utilization, without risking critical processes being starved of compute or memory resources. VMware ESX/ESXi use intelligent process scheduling and load balancing across available processors to manage the execution of virtual machine processing
5. Network virtualization: Network virtual machines like physical machines. Build complex networks within a single VMware ESX/ESXi or across multiple installations of VMware ESX/ESXi for production deployments or development and testing purposes.
6. Flexible virtual switches: Create a virtual network within a VMware ESX/ESXi host with virtual switches that connect virtual machines within the same host as well as the outside physical network. Virtual switches can be created with up to 2040 ports, and every host can be configured with up to 248 switches.
7. Storage virtualization: Abstract the complexity of storage subsystems while centrally maintaining virtual machine file storage for greater flexibility and manageability.
8. VMotion: Live migrate running virtual machines from one server to another with no disruption or downtime.
9. Storage VMotion: Live migrate running virtual machines from one storage location to another with no disruption or downtime.
10. High Availability: Protect against physical machine failures through low cost, easy
to setup VMware HA. VMware HA automatically detects physical machine failure and restarts virtual machines on other physical machines in a shared storage environment.
11. Scalability and extensibility: Manage upto 300 hosts and 3000 virtual machines with vCenter Server 4.0 and Link many vCenter Servers in your environment with vCenter Server Linked Mode to manage upto 10,000 virtual machines from a single console.
These are few of the key features which VMWare vSphere 4.1 offers. Contact us for a free demo/discussion wherein we can explain you in details the advantages of infrastructure virtualization using VMWare vSphere 4.1.
Author: Satish Agrawal is VP-Cloud Computing Practice at e-Zest Solutions Ltd. (www.e-zest.net) and mentor for Cloud Computing Professionals in and around Pune. His mission is to build core competencies at e-Zest in the domain of Cloud Computing for enterprises and ISVs and deliver best values. e-Zest Cloud Computing Practice provides complete cloud computing solutions from assessment to design to deployment to operation and adaption to evolution.
Cloud evolution can be considered synonymous to banking system evolution. Earlier people used to keep all their money, movable assets (precious metals, stones etc.) in their personal possessions and even in underground lockers as they thought that depositing their hard earned money with bank can be disastrous. Banking system evolved over the period of time. Legal and security process compliances protected by Law played a big role in making banking and financial systems trustworthy. Now, people hardly keep any cash with them J. Most of us carry plastic money and transact digitally.
Cloud computing is also evolving the same way.
Robust cloud architecture with strong security implementation at all layers in the stack powered with legal compliances and government protection is the key to cloud security. As Banks didn’t vanish despite frauds, thefts and malpractices, cloud security is going to get evolved but as much faster rate. Digital world has zero tolerance for waiting! Evolution is natural and is bound to happen.
So what are the steps typically a cloud service provider should follow in order to secure its cloud?
Cloud is complex and hence security measures are not simple too. Cloud needs to be secured at all layers in its stack. Let’s briefly look into major areas.
At infrastructure level: A sysadmin of the cloud provider can attack the systems since he/she has got all the admin rights. With root privileges at each machine, the sysadmin can install or execute all sorts of software to perform an attack. Furthermore, with physical access to the machine, a sysadmin can perform more sophisticated attacks like cold boot attacks and even tamper with the hardware.
Protection measures:
1. No single person should accumulate all these privileges.
2. Provider should deploy stringent security devices, restricted access control policies, and surveillance mechanisms to protect the physical integrity of the hardware.
Thus, we assume that, by enforcing a security processes, the provider itself can prevent attacks that require physical access to the machines.
3. The only way a sysadmin would be able to gain physical access to a node running a costumer’s VM is by diverting this VM to a machine under his/her control, located outside the IaaS’s security perimeter. Therefore, the cloud computing platform must be able to confine the VM execution inside the perimeter, and guarantee that at any point a sysadmin with root privileges remotely logged to a machine hosting a VM cannot access its memory.
4. TCG (trusted computing group), a consortium of industry leader to identify and implement security measures at infrastructure level proposes a set of hardware and software technologies to enable the construction of trusted platforms suggests use of “remote attestation” (a mechanism to detect changes to the user’s computers by authorized parties).
At platform level: Security model at this level relies more on the provider to maintain data integrity and availability. Platform must take care of following security aspects:
At Application level:
The following key security elements should be carefully considered as an integral part of the SaaS application development and deployment process:
Most of the above are provided by PaaS and hence optimal utilization of PaaS in modeling SaaS is very important.
Some of the steps which can be taken to make SaaS secured are:
At Data level:
Apart from securing data from corruption and losses by implementing data protection mechanism at infrastructure level, one needs to also make sure that sensitive data is encrypted during transit and at rest.
Apart from all the above measures, stringent security process implementation should also be part of making cloud secure. Periodic audits should happen. Governing security laws should be amended with advent in technologies, ethical hacking and vulnerability testing should be performed to make sure the cloud is secure across all layers.
Author: Satish Agrawal is VP-Cloud Computing Practice at e-Zest Solutions Ltd. (www.e-zest.net) and mentor for Cloud Computing Professionals in and around Pune . His mission is to build core competencies at e-Zest in the domain of Cloud Computing for enterprises and ISVs and deliver best values. e-Zest Cloud Computing Practice provides complete cloud computing solutions from assessment to design to deployment to operation and adaption to evolution.
The next big thing is predicts as ‘Web 3.0’ is inseparably close to the term ‘Semantic Web’. Something which essentially means that search engine’s usability and effectiveness to be increased to the extent that it should make one believe that the whole internet is conspiring for you to reach to the information that you need at the least possible your keyboard, mouse or eyeball movement. There are many new promising search engines geared-up to ride on this next wave of IT revolution, with HTML 5 inherent capabilities and auto tagging techniques we hope to see more structured content generation, with web 2.0 phenomenon a lot of UGC and content tagging would further help the web transforming into a semantic web, however we can’t expect the legacy content to be tagged and structured at the same time we can’t live without that content.In this case I see only two directions:1. The content which is not accurately tagged is anyways old and might become irrelevant over a period of time, so it does its natural death (It will still be indexed and searched by our best friend google!)2. The content that’s useful and usable will be transformed into a structured content.What interests me how this transformation of content is going to happen? I think it’s going to happen in following ways:1. Next gen search engines are having NLP based categorization and auto tagging mechanism, that’s where we might see real-estate search engine, music search engine, video search engine, since it’s such a big world to categorize and arrange all the information in a reliable way. 2. Another way this is going to happen is new group of entrepreneurs are going to sought an opportunity to act as data aggregator, indexer and presenter, in short creating more friendly content for next gen search engines. Probably history is set to repeat itself, Yahoo style directory services where categorization of content ( instead of websites previously) is going to be back so will be data scraping, since all you wish to categorize is content and not the application/ program that is generating that output, recalls the days of mainframe based screen scraping, isn’t it?
Today, there is a high demand for Rich Internet Applications (RIA). RIAs combine the maturity, stability and scalability of service orientation with state of the art presentation layer technology to create the next wave of web based distributed applications. RIA applications are defined as the combination of beautiful aesthetics and the feel of desktop applications with the accessibility feature of the web applications. These applications include several features which counter the disadvantages of traditional websites. For an end user, RIA applications serves the best of client-server and web technology, making it imperative for all the small and mid-size businesses, large scale enterprises and even government entities to adopt.
RIAs are implemented into a working system to provide better results to all visitors. These applications are designed, executed and implemented with a view of increasing the overall productivity of the website. By adding RIAs, website developers append a number of flexible features to a website and make it more vivid and alive. With RIAs, websites become more appealing, interactive and responsive and hence have become cutting edge solutions to enhance the way a business operates.
Currently websites and desktops are rapidly moving in the RIA application development direction. Flex development along with many other platforms is used to add RIA applications to a website. In the present world many different types of platforms are available – Adobe Flex/Air, Google Web Toolkit (GWT), JavaFX and Microsoft Silverlight. Each have some of the best features making it difficult to judge which one is the best.
Adobe Flash and Adobe Flex applications are different from each other in many respects, even though they are developed in a way, look very much similar. Flex development is the process of using a collection of web tools, technologies and run time environments to create better RIA solutions. It includes Adobes Integrated Runtime (AIR), Flex SDK and Add-on Components, Adobe Flash Player Runtime, Flex Builder and Server Side Integration Service.
One of the reasons Adobe Flex has become so popular is because of its versatility. Adobe Flex is a software development kit (SDK) based on the Adobe Flash platform. Adobe Flex is used for the development and deployment of cross-platform RIA. The additional advantage of Adobe Flex is that it is an open source framework and by using flex compiler and adobe Flash builder RIAs can be easily developed. Flex development encourages better presentation of business information through rich graphical presentations, multimedia and animated displays. It is a program that can do extraordinary things. Adobe Flex can help build a website from the ground up or if you are trying to design intricate animations, design a highly interactive application or building interfaces for a variety of users, build on existing code or starting over from scratch.
Flex offers a number of remarkable benefits for both developers and end-users, including:
· Record development time due to powerful coding tools and extensive visual component library
· Innumerable good features make it ideal to develop enterprise level applications.
· Solution scalability and reliability due to a powerful and elegant Flex programming model.
· Flex-based solutions are easily re-designed or enhanced whenever it is necessary.
· Easy integration into a server application due to a high-performance data synchronization engine between the client and server sides.
· In-context interactivity due to video, audio, streaming, and messaging components.
· Flex components like Charts, DataGrid, RichTextEditor, ProgressBar, Accordion, Slider etc make Flex development very easy.
All this makes Adobe Flex one of the best RIA development platforms. RIAs have since been widely adopted and proven to deliver tangible ROI to the businesses that deploy them. Measurable benefits include higher customer conversion rates, increased user productivity and improved customer loyalty.
e-Zest’s (www.e-zest.net) dedicated team of (RIA) experts has extensive experience in building interactive & efficient Rich Internet Applications (RIA) development solutions to a global client base. e-Zest offers services that enable its clients to effectively communicate and share their ideas, products and services with their global customers. Our RIA services include Adobe Flex & AIR, Google Web Toolkit (GWT), Microsoft Silverlight, CURL, OpenLaszlo and JavaFX. We offer custom solutions according to needs of the clients.