|By Al Soucy||
|December 21, 2013 12:00 PM EST||
Recently, I was asked by Mr. Peter Hastings (NH DoIT Commissioner) to take a look at cloud development concepts and see if there was any benefit for our development teams across the enterprise. After some investigation I could see that if all users/developers were on one server that contained all the licenses for the tool and the assets were centralized, and the SCM tool was standardized, the state could save money in various ways on activities related to software development and transform state government with more status accounting and visibility into software development not only for state developers but contractors as well.
I met with Commissioner Hastings and explained that developers would have less of a learning curve from department to department if the tool was standardized. The only thing the developer would have to learn is the application to develop code. The tool would already be known because SCM supports all the development platforms used at the state today. The state develops in Java, multiple versions of Visual Studio, COBOL for legacy applications, multiple versions of PowerBuilder, Visual Basic, etc. The list goes on with every agency that gets implemented in the enterprise as there are new tools I was unaware of and new ways of using SCM integrated with them.
After meeting with Commissioner Hastings I was directed to place all existing servers and developers in the virtual environment on one server and on one standard tool across the enterprise to centralize the State source data assets.
I met with Richard Sliwoski, State Database Manager, and we had a brainstorming session to hammer out a strategic plan for accomplishing this directive. It's one thing to be told what to do and it's another thing completely to actually do it. The current environment has three independent SCM servers. These servers house a number of data assets and users that represent a number of agencies across the enterprise. The idea was to consolidate the three servers into one in the virtual environment. Then the three physical servers could be decommissioned. There is a cost savings to the State with this initiative with fewer SCM servers in technical support and electricity alone and a myriad of other savings I'll speak to later. This initiative would centralize and standardize the users, licenses, assets and support across the enterprise for software development activities.
I requested three virtual servers. Rich and I determined the requirements for the database and application server needs based on what we were using today and planned for an enterprise model. The three servers would be comprised of one SCM production virtual server to replace three physical production servers in use today, a development server for testing and a dedicated virtual server that will eventually house production compiles using a new tool called OpenMake. A number of OpenMake licenses are owned by the State and will be used to ensure the stability of production executables and to standardize compiles across the enterprise. OpenMake supports all platforms used at the State today. Understanding the Open Make tool is planned for a future effort at this time but again it's part of Commissioner Hastings vision of the standardization and centralization SCM initiative (SACI).
As this effort is going to impact more than 200 developers across the enterprise today with more than 300 applications housed across three servers, timing is important. Whenever you upgrade, convert or migrate it has to be timed accordingly with the release cycles of development teams so it doesn't disrupt any production releases. I have worked with all the team leads to make these efforts as seamless as possible. When the entire implementation is complete there may be 300-500 users and 1 terabyte of data assets secured and controlled for the enterprise and managed by a small team.
Once a strategic plan was developed and the virtual servers acquired I moved forward with the conversion/migration part of this initiative from dedicated servers to the virtual environment. During this same time period in addition to the conversion/migration, Computer Associates released SCM 12.5, the latest version of SCM that has a new plug-in for Visual Studio called the Visual Studio Integration Program (VSIP). So Rich Sliwoski and I made the decision to upgrade the product at this time as well. This is the second part of the initiative to upgrade to SCM 12.5. This effort encompasses installation, set-ups, plug-ins, testing of the client, testing of interfaces, testing on various operating systems, etc. It's no small effort but it made sense to create a totally robust environment for development activities.
I pulled together a great test team comprised of professional quality folks from the State. This nine-person team was made up of talented tenacious developers who had one goal in mind: to produce a better product for the state. The test team is as follows: Casey Horner (DES), Colleen Giuda (DRA), Ryan Stevens (DOE), Robert Kelley (DAS), Eric Ferren (DHHS), Terry Laderbush (DHHS), Michael Brennan-White (Treasury), Sanjay Dua (Deloitte) and Chris Taylor (DHHS). I thank all these folks and their managers for allowing them to participate in this effort; they did an incredible job at beating the tool up and making CA a better company and allowing the state to get a better tool. The tool overall integrated better in this release but I'm already assembling another beta test team to push the tool even farther. There are enhancements that developers have already been communicating to me that I want in the next release. I personally would like to see full integration.
To me when the word integration is used I believe it should be seamless. I don't want to perform activities outside the tool once I'm in it. The tools should assist you in creating a better product. That means you don't have to waste time by going somewhere else to accomplish the task at hand. Today you still have to leave the Visual Studio IDE and go to the Workbench to delete a file. That's a waste of time and should be fixed. My hope is that in the next release we come even closer to a fully integrated product. There really should be no need to open the Client if full integration is achieved. In any case I'll have a great test team assembled again and produce an even better product for the State of NH, Computer Associates and other users in the development community as well.
I have been working with Computer Associates (CA) for some time now to achieve this goal of tighter integration and with every release they listen to me a little more. One thing that has helped is having smart folks from the State of NH on the front end beta testing the tool.
These folks are good at what they do and provide clarity to the CA development team. I was very pleased this time with testing after looking back at the 12.1 release, which I soundly rejected as bad development on CA's part. Needless to say it was very disappointing from such a mature product. They heard me.
Kevin Lin's team from CA came through this time and receives higher marks with 12.5. I did not like the clunkyness of SCM 12.02 the product always felt unstable to me. This release has a much more professional feel to it. Melinda Skelton (CA), Dave Carmack (CA) and the entire CA development team really gave us a much better product. Thank you! It only benefits everyone to get the very best product that we can to support such important intellectual property and source data assets across the enterprise of all state government.
There is no reason this environment couldn't be replicated across the States. Intellectual property is a valuable commodity and it needs to be secured and controlled. Standardizing tools and centralizing assets to reduce cost and streamline software development activities makes sense on so many levels (reduction in support, fewer physical SCM servers to maintain and support, less electricity, less software to install, fewer operating systems to maintain, fewer servers to back-up, easier to maintain SCM licenses, less of a learning curve for developers from one State agency to another on an SCM tool, more formalized development, more disciplined development, status accounting now available on software development activities, common code library can be shared to reuse code, future upgrades to the client are easier, standard defect tracking being used which is centralized, etc.). All these savings add up and benefit state government in managing the cost of software development activities.
In addition to the centralized virtual environment initiative there was now the SCM 12.5 upgrade, which made sense on another level as well. The State has many Visual Studio developers and I wanted to move to the new Visual Studio Integration Program (VISP). The previous version of SCM 12.02 used SCC API calls within the Visual Studio IDE. However, Microsoft was moving away from offering the calls up to competitors because they were releasing Team Foundation as the competing tool to SCM.
They were closing the door and CA needed to figure out another mechanism for performing SCM activities within the Visual Studio IDE without Microsoft's APIs. I truly never liked the SCC anyway as I explained earlier; I've always felt it was clunky and not stable. So CA developed the VSIP. I feel better about the VSIP and the state beta test team beat it up good. It feels more stable to me and CA has more control over the VSIP to work outside of the Microsoft constraints to accomplish good SCM. CA must keep improving as this market is getting more competitive every day; once other tools of this nature figure out how to create plug-ins that integrate into every development platform seamlessly, the playing field will be leveled. Right now CA still holds a slight lead in the area of integration but tools like MKS, PVCS, and TFC are going to figure it out and there will be integration into PowerBuilder, VB, Visual Studio, Java, Eclipse, etc.
I'll digress for one more moment. I am a professional musician as well and release my own albums every year and I have noticed this trend even in the music industry as it relates to software and integration. Several years back everyone recorded on Recording Workstations. A couple of years later workstations are gone and now it's all software. Keep going down the road now it's all about the plug-ins. Plug-ins for virtual drums, virtual stringed instruments, virtual pianos, virtual synthesizers, etc. It's a huge side of music software now and the same thing is happening in software development - the SCM tool that comes along that has plug-ins that integrate into every development platform wins.
This integration allows states to standardize a tool across an enterprise because it supports whatever development platform you choose. That to me is huge because states typically have a variety of development platforms in use. In my music software I want as much available to me as possible so I can be as creative as the software can stretch me and I believe developers want the same. I'd rather have more capability than less. I'm certainly not going to refuse a Mercedes if it cost less than the Yugo.
Rich Sliwoski (State DBA Manager) and I were having a conversation and the context was placed around a secure cloud within SCM and I came full circle back to the directive that Commissioner Hastings had initially instructed, which was to explore how cloud development concepts could be used and taken advantage of at the State of NH. It is amazing how one directive can take you down many roads. The next initiative would be to create a common code library for common functionalities between agencies across the enterprise and code that could be shared, reused, understood all under the secure umbrella of SCM. SCM allows groups to be created that have certain levels of access all the way down to a process or a file. It's easier to allow some teams or many teams the ability to browse this library of shared common code. It also educates other teams on how one team versus another might be developing common functionalities.
I asked a colleague of mine Eric Ferren (DHHS) to check if any of the development teams had common code that they thought could be reused by other teams and wouldn't mind sharing. Many teams were very forthcoming and offered common code that is now available for use. The common library was born. An SCM environment was created to house various frameworks of Visual Studio, PowerBuilder, Java, Eclipse, etc. This common library is a read-only library for all developers to check out anything they can use to cut down development time on common functions (e.g., passwords, log-ins, etc.). It's not available to all users at this point; it only exists for those developers who have been upgraded to the virtual environment using SCM 12.5.
If you have a robust SCM tool with a database behind it, you can have all of your users centrally located and standardized with access to the source code, not just for their projects under source code control, but all projects under development in source control. The administrator of your tool with a process-based tool can then create user groups and assigned user groups with any number of individuals associated with it to any SCM environment under the umbrella of source code control. If you had an aggressive development schedule you can potentially use developers from another agency to help temporarily by turning on access to a project, and when the project is done turn off the access. The point is that when everyone is centrally managed you can get creative.
Developers can browse development libraries for the Visual Studio Framework, PowerBuilder, Java, etc., and have access to this library to check out common functionality code that was already developed and modify or tailor the specifics for their new development activity, rather than writing this set of code from the concept stage. I believe over time the state will save money by having code that is reusable. There are many types of code that can just be tailored rather than completely rewritten. Plug in the correct variables for your functionality and your off and running. Certainly it's not that easy but it should cut down on development time.
With one virtual environment for development, upgraded to the latest release of SCM 12.5, using the latest plug-ins for integration of development tools comprised of a shared common development library, using a standard compiling tool for production executables, defect tracking standardization and a SCM test environment for future release testing, Commissioner Hastings has transformed State Government software development for many years to come. It has been quite a directive. I have been juggling many balls in the air but I have had some good support and encountered many cooperative, collaborative, professional, disciplined developers.
I could never pull this off alone so I thank all of those who helped to accomplish Commissioner Hastings vision. It takes courage in state government to move someone's cheese and that's exactly what is being done. There are always going to be teams that don't want to play and convincing teams that this is in the state's best interest is challenging at best but with solid IT managers understanding the importance of securing this intellectual property and mission-critical data assets, centralization can be achieved.
I have been thinking of some of the ways I considered this initiative could save the state resources, time and money on development activities:
- All State source data assets are centralized - diminishes the overhead of physical support
- All processes are standardized by the use of one product to support multiple platforms
- Allows movement of a developers from one project to another with more flexibility
- Common functionality libraries can be set up for all development platforms (Visual Studio, PowerBuilder, Java, etc.) so that all developers can have access to reusable code under a SCM secure umbrella
- Provides transparency to all managers with a view into a life cycle as to what developers are working on in any SCM State whether it be system integration testing (SIT) or user Aacceptance testing (UAT), fewer servers means less power consumption, fewer updates to the operating system, fewer man hours of support, easier back-up time with one set of scripts, etc.
If the tool were designed to be transparent and seamless to the front-end user, this would give managers more latitude in assigning developers to a particular project. I feel you could access your developers like never before because they would be in one pool using the same methodologies as developed via the life cycles in the tool that mirror their processes on the ground. Many large organizations have too many varying methods, tools, processes and this creates silos of development, which is overall counterproductive to the whole. This makes it harder to not only know what the team(s) are doing or developing in or having access to or to interchange that skill set with another development team.
When all developers are using the same tool they can easily be provided access to another project via the secure cloud of the tool and work any project and have a much smaller learning curve by not leaving the development environment but seeing a new project in their view in the SCM tool.
I have been working in Software Configuration Management (SCM) for a few years now and I am presently, the administrator of SCM at the State of NH. SCM is a process-based Software Configuration Management (SCM) tool for managing application source code. I manage 300 plus applications housed in SCM and support 300 users using the product. The development tools we currently use are PowerBuilder PBV8, PBV11 and 12; Visual Studio 2003, 2005, 2008, 2010 and 2012; Eclipse, Juno, Cold Fusion and Java, COBOL. VB, etc.
As the Software Configuration Manager (SCM), I provide the administration of the source code management tool. This includes the entire infrastructure of the environment for development, developing life cycles, providing the best practices, procedures, processes, documentation; maintaining build machines; and the training of all the developers on proper source code management using the development tool in our development environment.
The SACI (Standardization and Centralization Initiative) is comprised of a lot of moving parts from consolidating/migrating projects from one SCM database to another in coordination with teams' release schedules and then upgrading the developers to the latest release of the SCM client. Provide them with a view into the Common code library and integrate across the enterprise the standardization and centralization of the SCM tool and centralization of all state source data assets and missions-critical assets for disaster recovery purposes and work to get more teams using the Defect Tracking tool within SCM to standardize reporting as well and get rid of the access databases, Excel spreadsheets and word documents and centralize this data as well..
The final result should look like one virtual software development server with 300-500 users and one terabyte of data assets, which would include intellectual property of various types (application code - VS, PB, Java, docs, etc., or Oracle code, SQL code, Access, etc.) and mission-critical assets.
As I bring on new agencies across the enterprise they are integrated directly into the latest SCM 12.5 virtual environment while I continue to move other agencies from the SCM 12.02 perspective to the SCM 12.5 perspective. There are a half a dozen agencies using the Defect Tracking System that is built into SCM. It is part of the product and up to a few years ago only a few agencies adopted its use and over time more teams are engaging in the use of the form. The form is a Defect, Modification or Enhancement against an application under development.
This is how issues are reported and tracked. Many are kept in Excel spreadsheets and recorded there, Access databases, Word documents, etc. The SCM Defect Tracking Form is attached directly to a CR Package so it follows the SCM activity through the entire life cycle. All I'll say at this time is that it has value to again have a centralized Defect Tracking System contained within the existing SCM tool that you already own. This offers the state a cost savings and removes all the various forms of maintaining issues being reported in the same location as needed for development activities. I can discuss the details of this part of SCM another time. I'll just mention a few advantages: You can attach multiple files to a form (Word docs, Excel spreadsheets, etc.), you can use the form as a running history of development activities against a task and you can print out a details report.
What will have been achieved across the enterprise:
- Centralized State Data Assets
- Centralized Data Repositories
- Standard SCM Tool
- Standard Compiler OpenMake
- Standard Defect Tracking System
- Common Code Library
- Status Accounting and Auditing of SCM projects
- The HART Reporting tool is on the radar
One last item I will mention is that a senior developer Robert Kelley (DAS) took the initiative to create a reporting tool and this is a brief description of the tool: "The goal of the Harvest Automation and Reporting Tool (HART) project was to become intimately familiar with the CA Harvest Software Change Manager Software Development Kit (SDK) by exercising as much of its capability as possible in a C# .NET application. The SDK was accessed by interfacing with a COM DLL provided by CA. The HART tool, when finished, will make it easier to check-in and check-out files on a project-by-project basis, provide ad-hoc reporting such as retrieving a list of all files that have been checked out for more than thirty days for one or more projects, and provide built-in reports such as looking for empty projects. The tool was also designed to separate the user interface from the business logic that makes use of the CA SDK so that the functionality seen within HART can be taken and placed within another project with a different UI."
One of the issues I keep my eye on is performance. The virtual environment was scaled correctly but with so many users and so much data there could be problems. My hope is that there won't be but it is a watch issue for me and basically has always been anyway. When you want to get your work done, you don't want any disruption with connectivity related to storage and retrieval activities.
A strange thing is happening along the way to the Internet of Things, namely far too many devices to work with and manage. It has become clear that we'll need much higher efficiency user experiences that can allow us to more easily and scalably work with the thousands of devices that will soon be in each of our lives. Enter the conversational interface revolution, combining bots we can literally talk with, gesture to, and even direct with our thoughts, with embedded artificial intelligence, wh...
May. 25, 2016 02:30 PM EDT Reads: 1,843
IoT generates lots of temporal data. But how do you unlock its value? How do you coordinate the diverse moving parts that must come together when developing your IoT product? What are the key challenges addressed by Data as a Service? How does cloud computing underlie and connect the notions of Digital and DevOps What is the impact of the API economy? What is the business imperative for Cognitive Computing? Get all these questions and hundreds more like them answered at the 18th Cloud Expo...
May. 25, 2016 02:15 PM EDT Reads: 2,099
As cloud and storage projections continue to rise, the number of organizations moving to the cloud is escalating and it is clear cloud storage is here to stay. However, is it secure? Data is the lifeblood for government entities, countries, cloud service providers and enterprises alike and losing or exposing that data can have disastrous results. There are new concepts for data storage on the horizon that will deliver secure solutions for storing and moving sensitive data around the world. ...
May. 25, 2016 02:00 PM EDT Reads: 1,118
What a difference a year makes. Organizations aren’t just talking about IoT possibilities, it is now baked into their core business strategy. With IoT, billions of devices generating data from different companies on different networks around the globe need to interact. From efficiency to better customer insights to completely new business models, IoT will turn traditional business models upside down. In the new customer-centric age, the key to success is delivering critical services and apps wit...
May. 25, 2016 01:45 PM EDT Reads: 900
The IoT is changing the way enterprises conduct business. In his session at @ThingsExpo, Eric Hoffman, Vice President at EastBanc Technologies, discuss how businesses can gain an edge over competitors by empowering consumers to take control through IoT. We'll cite examples such as a Washington, D.C.-based sports club that leveraged IoT and the cloud to develop a comprehensive booking system. He'll also highlight how IoT can revitalize and restore outdated business models, making them profitable...
May. 25, 2016 01:30 PM EDT Reads: 2,470
The essence of data analysis involves setting up data pipelines that consist of several operations that are chained together – starting from data collection, data quality checks, data integration, data analysis and data visualization (including the setting up of interaction paths in that visualization). In our opinion, the challenges stem from the technology diversity at each stage of the data pipeline as well as the lack of process around the analysis.
May. 25, 2016 12:45 PM EDT Reads: 1,159
Designing IoT applications is complex, but deploying them in a scalable fashion is even more complex. A scalable, API first IaaS cloud is a good start, but in order to understand the various components specific to deploying IoT applications, one needs to understand the architecture of these applications and figure out how to scale these components independently. In his session at @ThingsExpo, Nara Rajagopalan is CEO of Accelerite, will discuss the fundamental architecture of IoT applications, ...
May. 25, 2016 12:45 PM EDT Reads: 901
SYS-CON Events announced today that ContentMX, the marketing technology and services company with a singular mission to increase engagement and drive more conversations for enterprise, channel and SMB technology marketers, has been named “Sponsor & Exhibitor Lounge Sponsor” of SYS-CON's 18th Cloud Expo, which will take place on June 7-9, 2016, at the Javits Center in New York City, New York. “CloudExpo is a great opportunity to start a conversation with new prospects, but what happens after the...
May. 25, 2016 11:00 AM EDT Reads: 837
SYS-CON Events announced today that MangoApps will exhibit at SYS-CON's 18th International Cloud Expo®, which will take place on June 7-9, 2016, at the Javits Center in New York City, NY. MangoApps provides modern company intranets and team collaboration software, allowing workers to stay connected and productive from anywhere in the world and from any device. For more information, please visit https://www.mangoapps.com/.
May. 25, 2016 10:15 AM EDT Reads: 383
SYS-CON Events announced today that 24Notion has been named “Bronze Sponsor” of SYS-CON's 18th Cloud Expo, which will take place on June 7-9, 2016, at the Javits Center in New York, New York. 24Notion is full-service global creative digital marketing, technology and lifestyle agency that combines strategic ideas with customized tactical execution. With a broad understand of the art of traditional marketing, new media, communications and social influence, 24Notion uniquely understands how to con...
May. 25, 2016 09:45 AM EDT Reads: 1,707
WebRTC is bringing significant change to the communications landscape that will bridge the worlds of web and telephony, making the Internet the new standard for communications. Cloud9 took the road less traveled and used WebRTC to create a downloadable enterprise-grade communications platform that is changing the communication dynamic in the financial sector. In his session at @ThingsExpo, Leo Papadopoulos, CTO of Cloud9, will discuss the importance of WebRTC and how it enables companies to fo...
May. 25, 2016 04:45 AM EDT Reads: 2,440
SYS-CON Events announced today TechTarget has been named “Media Sponsor” of SYS-CON's 18th International Cloud Expo, which will take place on June 7–9, 2016, at the Javits Center in New York City, NY, and the 19th International Cloud Expo, which will take place on November 1–3, 2016, at the Santa Clara Convention Center in Santa Clara, CA. TechTarget is the Web’s leading destination for serious technology buyers researching and making enterprise technology decisions. Its extensive global networ...
May. 25, 2016 04:15 AM EDT Reads: 3,049
Korean Broadcasting System (KBS) will feature the upcoming 18th Cloud Expo | @ThingsExpo in a New York news documentary about the "New IT for the Future." The documentary will cover how big companies are transmitting or adopting the new IT for the future and will be filmed on the expo floor between June 7-June 9, 2016, at the Javits Center in New York City, New York. KBS has long been a leader in the development of the broadcasting culture of Korea. As the key public service broadcaster of Korea...
May. 25, 2016 04:00 AM EDT Reads: 1,717
In his session at 18th Cloud Expo, Bruce Swann, Senior Product Marketing Manager at Adobe, will discuss how the Adobe Marketing Cloud can help marketers embrace opportunities for personalized, relevant and real-time customer engagement across offline (direct mail, point of sale, call center) and digital (email, website, SMS, mobile apps, social networks, connected objects). Bruce Swann has more than 15 years of experience working with digital marketing disciplines like web analytics, social med...
May. 25, 2016 02:00 AM EDT Reads: 1,164
With major technology companies and startups seriously embracing IoT strategies, now is the perfect time to attend @ThingsExpo 2016 in New York and Silicon Valley. Learn what is going on, contribute to the discussions, and ensure that your enterprise is as "IoT-Ready" as it can be! Internet of @ThingsExpo, taking place Nov 3-5, 2015, at the Santa Clara Convention Center in Santa Clara, CA, is co-located with 17th Cloud Expo and will feature technical sessions from a rock star conference faculty ...
May. 24, 2016 06:00 PM EDT Reads: 4,682
The 19th International Cloud Expo has announced that its Call for Papers is open. Cloud Expo, to be held November 1-3, 2016, at the Santa Clara Convention Center in Santa Clara, CA, brings together Cloud Computing, Big Data, Internet of Things, DevOps, Containers, Microservices and WebRTC to one location. With cloud computing driving a higher percentage of enterprise IT budgets every year, it becomes increasingly important to plant your flag in this fast-expanding business opportunity. Submit y...
May. 24, 2016 05:00 PM EDT Reads: 1,871
There are several IoTs: the Industrial Internet, Consumer Wearables, Wearables and Healthcare, Supply Chains, and the movement toward Smart Grids, Cities, Regions, and Nations. There are competing communications standards every step of the way, a bewildering array of sensors and devices, and an entire world of competing data analytics platforms. To some this appears to be chaos. In this power panel at @ThingsExpo, moderated by Conference Chair Roger Strukhoff, panelists will discuss the vast to...
May. 24, 2016 04:00 PM EDT Reads: 2,373
Internet of @ThingsExpo, taking place November 1-3, 2016, at the Santa Clara Convention Center in Santa Clara, CA, is co-located with the 19th International Cloud Expo and will feature technical sessions from a rock star conference faculty and the leading industry players in the world and ThingsExpo New York Call for Papers is now open.
May. 24, 2016 04:00 PM EDT Reads: 1,699
SYS-CON Events announced today that Enzu, a leading provider of cloud hosting solutions, will exhibit at SYS-CON's 18th International Cloud Expo®, which will take place on June 7-9, 2016, at the Javits Center in New York City, NY. Enzu’s mission is to be the leading provider of enterprise cloud solutions worldwide. Enzu enables online businesses to use its IT infrastructure to their competitive advantage. By offering a suite of proven hosting and management services, Enzu wants companies to foc...
May. 24, 2016 02:15 PM EDT Reads: 2,101
SYS-CON Events announced today the How to Create Angular 2 Clients for the Cloud Workshop, being held June 7, 2016, in conjunction with 18th Cloud Expo | @ThingsExpo, at the Javits Center in New York, NY. Angular 2 is a complete re-write of the popular framework AngularJS. Programming in Angular 2 is greatly simplified. Now it’s a component-based well-performing framework. The immersive one-day workshop led by Yakov Fain, a Java Champion and a co-founder of the IT consultancy Farata Systems and...
May. 24, 2016 02:00 PM EDT Reads: 3,880