BusinessContinuity_0.jpg

NetConnect Blog - Your Resource For IT Tips, Tricks and News

A Day in the Life:  Paul Staszko - Application Developer

Posted by Kirsten Henagin on Feb 17, 2016 10:00:00 AM

In a world of fast technology and changing markets, what do people in an IT consulting company actually do? At Network Center, Inc. we engage in responsible innovation, have a relentless dedication to our customers, and most of all - we are committed to our employees. The Day in the Life blog series highlights our employees’ talents, passions, and expertise in all of our departments. Day in the Life has the goal to provide a holistic, behind-the-scenes look of our company.

“I’d still be writing software even if no one was paying me to. It’s my thing.” – Paul Staszko, Application Developer

Society has found the fruits of application development to be a norm of everyday life with smart phones, tablets, laptops, and countless other forms of technology constantly surrounding people. What many people don’t realize is that application development is truly challenging and thought intensive work.

Paul Staszko has been with Network Center, Inc. for six months, but his experience in professional software development began 13 years ago. For Paul, his work at Network Center, Inc. is not just a job, but also a deep-rooted passion.

Paul.jpg

His actions speak louder than his words. Paul’s mission is not only to perform good work when helping clients, but to do great work. The projects at Network Center, Inc. are “interesting and engaging,” continually stretching Paul’s skills in new ways.

Paul’s day begins with coffee and a granola bar as he begins to jump into his daily tasks. When approaching a problem, he always seeks innovative new ways to debug the issue. He works with the Interactive Team at Network Center, Inc. finding optimal solutions for clients on a daily basis. Paul is truly an ambassador of the NCI brand and culture, always seeking new and innovative opportunities for client projects.  He keeps coming back to the office every day, not just for the coffee – but for the people.

“I’d still be writing software even if no one was paying me to. It’s my thing,” Paul stated.

Paul believes that the depth and breadth of services that Network Center, Inc. offers is key in what makes NCI unique. He says, “IT is very diverse and we can do it all in a one-stop-shop model.” However, this is not to over simplify the problems clients face or to undervalue each employee’s specialization when solving issues. “People [at Network Center, Inc.] have a strong attention to detail and what will serve the customer well,” Paul emphasized.

For customers that are in need of IT services, Paul recommends establishing and developing a relationship with the people providing services. The point is to find people that a client can trust and will do right by the client. “When you do business with NCI, you have a lot of resources available to you,” Paul highlighted, in comparison to segmenting your services to multiple providers. In the time that Paul has been with Network Center, Inc. he has displayed the company’s core values through his work, collaboration with his colleagues, and while seeking optimal solutions for customers.

PaulsLegos.jpg

When Paul isn’t at the office he spends his time in his newly purchased house. His favorite pastimes include video games, watching Netflix, kite flying, bike riding, and constructing and collecting complex Lego sculptures. His favorite book is PowerShell in Action by Bruce Payette, which exemplifies his passion deeply rooted in script administration.

Stay tuned for more installments to the “A Day in the Life” series; giving you a behind the scenes look at the people behind your project.

 MeetOurTeam_button-1.jpg

Topics: Application Development, Day in the Life

The Power of Entity Framework and LINQ

Posted by Lucas Michels on Sep 26, 2014 3:00:00 PM

Entity Framework and LINQ have been two amazing tools that I have come to love when creating and editing many different types of applications. The power of these tools allows for much faster creation of coding logic, plus some built in protection from malicious attacks. Both of these mean a savings in both time and money for us and our clients. To see some possible reasons as to why you would want to use this framework or have it put in your program, I will first give some background on what both Entity Framework and LINQ are.

What is Entity Framework (EF)?
Microsoft defines Entity Framework as “The Microsoft ADO.NET Entity Framework is an Object/Relational Mapping (ORM) framework that enables developers to work with relational data as domain-specific objects, eliminating the need for most of the data access plumbing code that developers usually need to write. Using the Entity Framework, developers issue queries using LINQ, then retrieve and manipulate data as strongly typed objects. The Entity Framework's ORM implementation provides services like change tracking, identity resolution, lazy loading, and query translation so that developers can focus on their application-specific business logic rather than the data access fundamentals.” This basically means it is an ORM framework meant to simplify the database connections and saving of information on the database. It also allows for an easy way to work with the data objects once they are returned from the database.

What is LINQ?
Microsoft defines LINQ as “a set of features introduced in Visual Studio 2008 that extends powerful query capabilities to the language syntax of C# and Visual Basic. LINQ introduces standard, easily-learned patterns for querying and updating data, and the technology can be extended to support potentially any kind of data store. Visual Studio includes LINQ provider assemblies that enable the use of LINQ with .NET Framework collections, SQL Server databases, ADO.NET Datasets, and XML documents.” In other words, LINQ provides for a syntax or a way of writing code that allows us to work more easily with objects. This tool is especially handy when working with big objects and redefining results.

Using Objects
When setting up a project in Entity Framework (EF), you can either do a ‘code first’ approach or a ‘database first’ approach. Most of the time we have done a database first approach, which means setting up the database structure for a given application. Then we can create the connection with the entity framework model and pull in the database structure into the EF. This allows for quick and easy creation of data objects within our applications. We don’t have to guess as to properties of the individual item because the objects are created in EF. When opening this data context in the code, we get access to all the objects and their properties that are created in EF. In most cases we are no longer required to form huge strings for SQL, but instead could use smaller lines of code. Below is a small example of an incomplete database, but in it we can see the objects created and the different properties associated to them as well as the links they have to other tables through foreign keys.  

Entity Framework

Simplification of Accessing and Saving Information
Through EF we have created our objects and have loaded in we can now use and update the information. To create new records of information in the system, all we need to do is declare a new type of the object, tell the context we are inserting it, and call the save changes. Any other objects that are attached to this object before the save should they be new would also be inserted. Our database open and close connections are also taken care of for us. For an example let’s look at the code below.

Entity Framework 

Within these couple of statements I have opened a connection to the database, grabbed a user with the First Name of Lucas and the Last Name of Michels. I have then updated his pin number and saved it back to the database. This saves us from having to worry about connections not getting closed and using up extra memory in the application as well as making a nice easy to read logic to follow.

SQL Injections Protection
EF also has built in protection against SQL injections which is strings of sub-queries which when put into another SQL command will perform another task. Using the example given above, should we replace the “Lucas” string with a variable that is gotten from user input, we would also have to check that input against an SQL injection. EF in the given example above does this for us. This cuts down on the amount of coding we need to do in order to help make our applications safer from these sorts of malicious attacks.

Summary
Entity Framework and LINQ are very powerful tools. In this section we have just touched on a couple of the reasons as to why they can save time and money when developing applications and make them safer.

Topics: Technology Solutions, NetWork Center Inc., Application Development, Developers

5 Reasons You Should Use jQuery

Posted by Dane Petersen on Jun 17, 2014 3:00:00 PM

What is Jquery? The official jQuery statement is: “jQuery is a fast and concise JavaScript Library that simplifies HTML document traversing, event handling, animating, and Ajax interactions for rapid web development.” It is the most popular cross-platform JavaScript library in use today and was designed to be simple and easy to learn. It also simplifies the client-side HTML scripting. Query is free and open sourced under the MIT License. It was released in 2006 by John Resig and is currently being developed by Dave Methvin. It is used by some of the most visited sites on the Internet and helps developers by decreasing the amount of effort and time. What would take 20+ lines of code in JavaScript can be reduced down into say 5 lines with jQuery.

  1. Jquery is easy to learn, has a very small learning curve, and is very well documented. If you have some knowledge of HTML, JavaScript Jquery should come easily.

  2. Jquery works well with old and new technologies such as HTML 5 and CSS 3. 

  3. Jquery can reduce the time and effort for developers. The following is an example of code differences between JavaScript and jquery. To see a live demonstration of the code below visit https://www.netcenter.net/quick-jquery.html.

    JavaScript

    javascript screenshot (3)
     
    jQuery

    jQuery

  4. Jquery allows users to create animations quickly with less of a learning curve than Adobe Flash. Jquery uses markup technologies such as CSS, HTML, JavScript and AJAX that all work well together. A developer can use these to create effects such as drop down menus, hiding elements, fading elements in and out, and sliding elements around the page. These are just a few of the many effects provided by the jQuery library.

  5. Jquery Mobile allows you to have the same functionality on mobile browsers as you would on the desktop. It also has UI options which enhance a user’s experience on a mobile device. A good example would be the use of an accordion, which takes content and compartmentalizes them into selectable options.

There are other good JavaScript libraries out there such as minified.js. “Minified.js is a client-side JavaScript library that's both powerful and small. It offers jQuery-like features (DOM manipulation, animation, events, HTTP requests) and utility functions (collections, date & number formatting, date arithmetic, templates) with a single, consistent API."

Deciding to use a JavaScript library like jQuery is up to the developer and the project demands. Jquery is quick and efficient while reducing developers’ effort and time, and is compatible with older browsers while still working with the newest technologies. Contact NetWork Center, Inc. today if you have any questions.

Contact Us Today!

Topics: Technology Solutions, Mobile App Development, Mobility, Application Development, Developers

Google Apps for Business and 3rd Party Integration

Posted by Joe Dunnigan on May 23, 2014 11:00:00 AM

As companies continue to consider the choice between on-premises and cloud-based technology solutions, they will often times be met with the difficulty of integrating their solution of choice with existing technologies and software platforms they use to run their business. If you're considering moving to Google Apps for Business or Education, you have a number of options available to you for 3rd party integration between this cloud productivity solution and your existing applications or infrastructure.

google apps marketplaceThe first option you may consider is integrating your new service with existing directory service, such as Microsoft Active Directory, or other LDAP-based directory services. Google Apps has support for communicating with existing directory services in order to sync user accounts, groups and login credentials. This will allow you to keep your existing user and account management practices in place when moving users to online productivity suites such as Gmail and Google Docs.

Perhaps you have an existing Contact Management Solution, or you use an online service such as Salesforce to manage customer and contact information. The Google Apps Marketplace is an online store that provides numerous solutions for software integration or standalone products that complement the Google Apps suite, with many free or paid applications that you can add to your Google Apps environment. From project management to accounting, it is possible to find an app that will integrate and provide new functionality to your systems.

Even if you can't find an integration or piece of existing software that meets your needs, you have more options. If you have an application development team at your disposal, you may be able to write custom integrations or new apps that will accomplish required tasks. Google provides a number of ways to write custom integrations to Google Apps. Two of these options are Google Apps Script and Google App Engine.

google developersGoogle Apps Script is a Javascript-based scripting language that includes function hooks into many Google Services, including Docs, Gmail and Contacts. With Scripts, you can write automation and work flows that can accomplish a number of tasks, such as sending an email when a spreadsheet is updated, creating new documents when certain conditions are met, or updating members of a project when events fire. Getting started with Google Apps Script is easy, and includes numerous real-life examples to explore.

google app engineGoogle App Engine can do much more than just Google Apps integration, but is a good choice for creating custom integrations or new Marketplace apps. App Engine provides a scalable platform and programming environment. With App Engine and Google APIs, you can quickly and easily hook into the Google Apps environment and third party APIs to merge data and information between disparate software pieces. Calendar, Docs, Maps and more are available for you to create the tools you need.

The tools that Google provides for integration are well documented and very inclusive. Chances are, if you need to integrate pieces of your business, you'll be able to find an off-the-shelf option or create the middleware needed to get your work done. Contact Network Center, Inc. if you have any questions.

Contact Us Today! 

Topics: Application Development, Google Apps, Google Apps Integration

Building Applications in the Cloud

Posted by Joe Dunnigan on Jan 10, 2014 3:00:00 PM

smart phone application development 1 resized 600In the traditional application development lifecycle, your development team and server infrastructure team tend to be two distinct entities. Developers write code in their environment, then provide application and database files to the deployment team to push to staging and production servers. The two teams work together to define application requirements for the server infrastructure, which is then built to those specifications. The ability for a developer to quickly and easily provision hardware resources for testing application deployment and usage scenarios can be difficult and cumbersome. Iterating through design and runtime requirements can be a tricky process, and changes can be difficult to implement.

Planning for real world use of your application, and building your app to scale easily, requires planning from the beginning of development to ensure you can take advantage of scaling web servers, database servers, and the various other resources that make your app run.

Enter cloud computing resources and tailored cloud development environments. In recent years, a number of services that allow quick provisioning of compute resources have become available. These services provide an abstracted layer that allows application code to be quickly and easily deployed to managed platforms without worrying about underlying server structure. They are removing a layer of complexity that allows developers to quickly prototype and deploy their applications with immediate results.

For the purpose of this article, I will explore a few well-known cloud development platforms, including Amazon Web Services, Windows Azure, Google Cloud Platform, and Google App Engine. Each service provides various functionality that you can utilize to quickly prototype your application and shorten time to market.

aws resized 600Amazon Web Services is now a well-known platform with many different uses. Some of the biggest names in online services, such as Netflix, run their services on the Amazon cloud. For application development, AWS allows a developer to spin up server resources in minutes, or deploy pre-defined application environments to cover scalable web, storage and database needs. AWS also includes a free usage tier for new subscribers. If you have an Amazon account (or even if you don't), you can head over to http://aws.amazon.com and sign up for AWS. After sign up, you can create a new micro instance web server that you can run free for a year.

If you would like further abstraction on your Amazon cloud environment, you can deploy a preconfigured cloud setup with AWS Elastic Beanstalk and deploy your application code through GIT, or using tools in your development environment, such as Eclipse or Visual Studio. This allows you to concentrate more on your code and less on a server environment. Elastic Beanstalk supports applications written in Java, .NET, Node.js and more.

windowsazurelogo resized 600Windows Azure is still a new platform to some, but has been around long enough that getting started is a simple process and integrates well with your development environment. Visual Studio includes a number of integrations to allow rapid deployment to Azure, and you can opt for preconfigured scalable environments, or simple server instance configurations that you can manage on your own. Azure should be a consideration if you are developing a .NET or similar Windows server-based application.

gce resized 600Google has only recently made its Compute Engine service available that is built on the same infrastructure that powers Google's services. It is not as feature-rich as Amazon, but provides excellent API resources and competitive pricing. It’s a cloud platform to watch.

Far more interesting from Google's offerings is Google App Engine. The App Engine does the best job of abstracting hardware and compute resources from the developer, allowing application code to be quickly deployed to the App Engine environment, and taking care of all application, storage and database scaling in a completely transparent manner. In addition to scaling compute resources, App Engine pricing scales with the number of uses on your app, making it ideal for startups wanting quick and cost-effective options for getting their app to market. Snapchat and Rovio (Angry Birds) are just two examples of well-known startups that are taking advantage of Google App Engine to power their apps.

googleAppEngineLogo resized 600Getting started with Google App Engine is also quite painless. You can test drive the service at the Cloud Playground in a number of languages, and can test your app for free, as long as you stay under daily quota limits. Google provides plugins to popular development environments, such as Eclipse, to assist in deployment and utilizing App Engine APIs. This makes building Google Web Toolkit and Android applications even easier, as these features are part of those platforms' toolsets.

There are certainly many options available to today's developer, and more arriving every day, but evaluating a few and determining if they are a good fit for your team should be at the top of your to-do list for 2014. If you're a startup and looking to get your app out to market, then this will likely be the path you choose. Contact NetWork Center, Inc. if you have any questions.

Contact NetWork Center, Inc.

Topics: Mobile Apps, Application Development, Developers, Cloud computing

Subscribe to Email Updates

Recent Posts

Posts by Topic

see all